在我的应用程序中,layout
必须有一定的外观,但很难在许多不同的屏幕分辨率和密度下实现。我已阅读开发人员文章,并通过创建以下layout
文件尽力支持许多不同的屏幕:
然而,4.7“手机(1920x1080)和5.8”手机(如我的s8:1080x2220)使用相同的layout-sw360dp
目录。由于它们在屏幕高度分辨率上的差异,两个手机的ui元素都没有正确显示。我想知道我应该如何解决这个问题,我可以使用另一个qualifier
让android studio根据手机的高度选择合适的layout
目录吗?我开始迷失在这里。欢迎任何帮助
答案 0 :(得分:1)
在深入挖掘之后,我发现您可以根据onCreate()
中的信息在DisplayMetrics
方法中选择不同的DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;
if (...) {
setContentView(R.layout.ex1);
} else {
// .....
}
,如下所示:
height
通过使用width
和layout
变量作为if语句中的条件,我设法为每个屏幕大小选择适当的{{1}}文件!