我有一个位图(Bitmap),我想将其用作窗口的平铺背景。问题是比例不对。我希望在屏幕上将位图放大两倍。我尝试使用 Bitmap.setDensity 和 BitmapDrawable.setTargetDensity 两种方法,但都没有效果。
我的代码:
我的代码:
Bitmap bitmap = fromSomewhere();
int original_density = bitmap.getDensity(); // this returns 240
// bitmap.setDensity(..); // has no effect, tried with 120,160,480
BitmapDrawable drawable = new BitmapDrawable(bitmap);
// drawable.setTargetDensity(..); // has no effect, tried with 120,160,480
drawable.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
getWindow().setBackgroundDrawable(drawable);
注意事项:
- 我的目标SDK是8,我也尝试在清单中明确设置
<supports-screens android:anyDensity="true"/>
Bitmap
对象已经给定,我无法控制它是如何生成的,我只能对其进行调整。- 我的测试设备是三星Galaxy 2(高密度),尽管我也在模拟器上测试了中密度,但仍然没有效果。
- 我没有改变任何其他密度,特别是getWindow()的密度。
密度不是实现x2缩放的最简单方法吗?为什么不起作用?