在我看来,android使用dpi配置文件缩放位图的方式是不正确的。
例如,我有一个 320x533 图像,用于覆盖整个屏幕区域,定义如下:
<ImageView
android:src="@drawable/background"
android:layout_width="320dp"
android:layout_height="533dp" />
在hdpi(240或1.5)处,图像可以正确缩放到 480x800 。但是在xhdpi(320或2.0)不行!即图像变为 640x1066 但实际手机区域可能 720x1280 或 1080x1920 或其他类似的决议。
我尝试调整ImageView.scaleType(每个选项),但图像仍无法正确缩放。你认为处理这个问题的正确方法是什么?我应该继承ImageView并使用Java处理扩展,还是我缺少一些基本的东西?
答案 0 :(得分:2)
“我应该将ImageView子类化并使用Java处理缩放”NO
您可以获得DPI值,也可以获得分辨率值。比你可以计算出所需的像素数。
选项2是:使用基于android dpi的不同目录。 (不仅可绘制,谷歌搜索会告诉你究竟如何)