【发布时间】:2012-06-25 23:32:34
【问题描述】:
我的 Android 应用在 480x800 像素分辨率下看起来很棒,但在 240x400 像素的 LDPI 屏幕上会中断。我知道我可以使用getResources().getDisplayMetrics().density 获得活动中屏幕的缩放因子,这将根据屏幕分辨率给出确切的float 值。
在我的应用程序中,我在其中使用了RelativeLayout 和ImageViews,并使用setMargins() 设置图像的边距,因为此方法使用int 中的像素作为其顶部、左侧、底部和右侧值,如何使用我得到的 DPI 因子设置这些值?(这是一个浮点数)。我们有Math.floor(),但我使用像素将图像定位在非常特定的位置,并且方法返回的 DPI 因子在小数位具有非常具体的值,不能忽略,所以转换为int 对我不起作用.
更新
另外,我使用lp.setMargins(100,200,0,0); 设置边距,我将对其进行哪些修改以使用从设备收到的 DPI 因子?
附:我知道这更像是一个数学问题而不是编程,但我的数学很差,抱歉。
【问题讨论】:
标签: android compatibility resolution fragmentation