在一个应用程序中,我需要确保UI组件在所有屏幕分辨率设备上都能放置在正确的位置。我已经阅读了Android开发者网站上的多个屏幕分辨率支持教程。基于此,似乎我需要为小型、普通和大型屏幕设备创建单独的布局文件。现在,问题在于即使在大屏幕上也有不同的分辨率,例如480 * 800和480 * 854。在屏幕上,组件会稍微错位。我将顶部边距设置为100 dip,然后对于480 * 800,它看起来很正常,但对于480 * 854,它会稍微偏移。
请问有人能告诉我现在该如何处理?
请问有人能告诉我现在该如何处理?
这两种分辨率都被视为布局长,因此您需要手动根据设备的高度和宽度设置布局。
在我看来,这是最好的解决方案。我已经将相同的解决方案应用于我的应用程序中。
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
height = dm.heightPixels;
width = dm.widthPixels;
if (height == 854 || width == 480)
{
// Your view
}
else
{
// Your VIew
}
通过使用:
res/drawable-hdpi-long/ res/drawable-hdpi-notlong/
应该可以区分 WVGA854 和 WVGA800。
但我强烈建议您设计布局,使其足够强大,可以在这两个屏幕上使用一组布局。如果您不能在这种情况下设计一个布局,则维护/测试工作将会太多。