平板电脑、bug或功能上的图像大小



方法论问题。我有一个活动,图像按钮设置在网格中。

每个图像都有不同的副本放在不同的文件夹中,可绘制的hdpi、可绘制的mdpi等等

我认为在平板电脑上,它应该开箱即用,从xxxhdpi拍摄图像,填充屏幕。但在现实中,图像看起来很小,很空白。

我做了什么。我把图片的重命名副本从drawable xxxhdpi放在了drawable文件夹中。然后我设置检查设备是否是平板电脑,然后去使用这个抽屉。现在它运行良好。

但是,在我看来,事情应该打破常规。为什么这么复杂?我做错了什么?

drawable文件夹实际上是drawable-mdpi文件夹。这就是为什么从该文件夹加载的图像看起来更大,因为它使用了更大的图片。

dpi存储桶不区分屏幕大小(平板电脑、手机),它们用于定位具有不同dpi的设备。

如果平板电脑需要更大的图像,您只需要添加更多的更大图像,但也应该为所有dpi存储桶提供这些图像,或者如果仅为某些dpi密度提供图像,则确保上采样/下采样不会损坏图像外观。

您可以使用以下代码来检查您的设备密度桶:

DisplayMetrics dm = getResources().getDisplayMetrics();
float density = dm.density; // this will give you device density bucket

对于160dpi(mdpi)设备密度值将为1.0

您可以在DisplayMetrics 上找到更多信息

最新更新