2014-03-12 102 views
0

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

+0

您使用您的main.xml文件什么类型的布局? –

+0

scrollview tablelayout – user3404195

+0

这是一个必须有布局或可以网格布局服务于相同的目的吗?你有列标题,等需要表格布局? –

回答

0

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

而且里面的代码,你可以决定应用程序的方向

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

我已经完成了Android检测布局,每件事情都很好,但按钮不占用所有可用的步伐。请检查链接中的问题。我愚蠢地问了一个不同的问题,而我可以在上面的链接中编辑我的问题。 – user3404195

+0

int Orientation = getResources()。getConfiguration()。orientation; \t \t如果(方向== Configuration.ORIENTATION_LANDSCAPE)的所有行的 \t \t { \t \t \t设定高度。 \t \t} 这就是我想要如何设置每行的高度。 – user3404195

相关问题