将点放在不同屏幕密度的特定位置

时间:2013-08-01 11:34:42

标签: android

我想在特定大小的位图上的特定位置放置一个点。我创建了600乘800大小的位图并根据该位置放置了一个点,它在注释2上工作正常,

但是当我在三星S4上进行测试时,位图看起来非常小,而且这一点也没有特别的位置。

请帮我建议是否有任何方法可以根据手机的特定分辨率自动缩放我的位图,并将该点放在屏幕上的相同位置。

1 个答案:

答案 0 :(得分:0)

我想我可以帮助你。我自己也有同样的问题。您需要做的是找到这个新屏幕比旧屏幕大多少,首先获取设备的尺寸,然后将它们放入widthOfStandardDevice和heightOfStandardDevice.Ance你知道新屏幕比旧屏幕大了多少,你会制作两个乘数来乘以一切。您现在可以说将位图的大小设置为bitmap_width和bitmap_height。

DisplayMetrics displaymetrics = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(displaymetrics);

height = displaymetrics.heightPixels;

width = displaymetrics.widthPixels;

float widthMultiplier = width / widthOfStandardDevice;

float heightMultiplier = height / heightOfStandardDevice;

int bitmap_width =(int)(600 * widthMultiplier);

int bitmap_height =(int)(800 * heightMultiplier);