在我的应用程序中,layout
必须有一定的外观,但很难在许多不同的屏幕分辨率和密度下实现。我已经阅读了开发人员的文章,并通过创建以下layout
文件尽力支持许多不同的屏幕:
但是,4.7“手机(1920x1080)和5.8”手机(如我的s8:1080x2220)使用相同的layout-sw360dp
目录。由于它们在屏幕高度分辨率上的差异,两个手机的ui元素都没有正确显示。我想知道我应该如何解决这个问题,我可以使用另一个qualifier
使android工作室根据手机的高度选择合适的layout
目录吗?我开始迷失在这里。欢迎任何帮助
在深入挖掘之后,我发现你可以根据layouts
的信息在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
变量作为if语句中的条件,我设法为每个屏幕大小选择适当的layout
文件!