我的布局在不同的屏幕上不能完美运行?

时间:2014-03-12 15:07:10

标签: android xml

请参阅此链接My android application layout does not fit well on different devices? 我在纵向模式下有9行,在横向模式下有7行。我想在调用之前计算屏幕的高度和宽度。 的setContentView(R.layout.main);  然后计算纵向模式的总高度/ 9和横向模式的高度/ 7。任何人都可以告诉我如何继续吗?这是如何动态地了解布局是横向还是纵向,以及如何为行指定高度。

1 个答案:

答案 0 :(得分:0)

您可以使用相同的名称指定创建两个不同的布局,并将它们分别放在横向和纵向文件夹中。在res文件夹中创建一个名为“layout-land”的新文件夹,并将布局的横向版本放在那里,将纵向版本放在“layout”文件夹中。 Android会根据您的方向自动采用相应的布局。请注意,布局的横向和纵向版本必须具有相同的名称。

同样在代码中,您可以确定应用程序的方向

int orientation = getResources().getConfiguration().orientation
if(orientation == Configuration.ORIENTATION_LANDSCAPE)
//landscape code...
else
//portrait code...