根据屏幕高度选择不同的布局目录

时间:2017-12-19 23:01:32

标签: android xml android-layout android-studio

在我的应用程序中,layout必须有一定的外观,但很难在许多不同的屏幕分辨率和密度下实现。我已阅读开发人员文章,并通过创建以下layout文件尽力支持许多不同的屏幕:

layout dirs

然而,4.7“手机(1920x1080)和5.8”手机(如我的s8:1080x2220)使用相同的layout-sw360dp目录。由于它们在屏幕高度分辨率上的差异,两个手机的ui元素都没有正确显示。我想知道我应该如何解决这个问题,我可以使用另一个qualifier让android studio根据手机的高度选择合适的layout目录吗?我开始迷失在这里。欢迎任何帮助

1 个答案:

答案 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

通过使用widthlayout变量作为if语句中的条件,我设法为每个屏幕大小选择适当的{{1}}文件!

相关问题