我有一个自定义View
类,它显示一些地图,其中有一些标志位于某些位置
它应该如下所示:
(图片来自Google)
我使用Canvas
的{{1}}方法绘制这些标记
不幸的是,它不会在不同的屏幕尺寸中显示相同的确切位置。
我尝试过使用这些:
drawBitmap
但是它会在所有屏幕上产生完全相同的图像(在大屏幕上显示一个小图像),这是不好的。
所以图像也应该缩放。
我怎样才能做到这一点?
答案 0 :(得分:1)
我从来没有这样做过,但你可能需要考虑屏幕的密度。
int multiplier = getResources().getDisplayMetrics().density;
即LDPI
,这将返回0.75。然后,您必须使用MDPI
作为基线,并使用乘数来说明其他类型的显示。
E.g
int top = y * multiplier;
int left = x * multiplier;
如果我完全错了,我会删除这个答案,但这就是我想到的。