如何根据方向更改屏幕布局?

3
在竖屏模式下,我有5个图标。第一行有4个图标,第二行有1个图标。但在横屏模式下,第5个图标必须适应第一行。如何解决这个问题?

你安排图标的方式是使用网格布局吗? - Pinki
4个回答

6

在竖屏和横屏时使用不同的布局文件。 使用layout-land来适配横屏。当设备方向改变时,Android会自动选择对应的横屏布局。


如果你正在自己处理 configChanges,那你会怎么做呢? - jfisk

3
为此,您需要采用线性布局,并设置其中有多少个图标,然后再采用另一个线性布局并设置该布局中的图标。这是一种方法,另一种方法是创建名为layout-land的文件夹,并将该布局文件(main.xml)添加到其中,并在其中排列任何您想要的内容。当设备方向改变时,layout-land会自动获取该文件。
布局-----纵向
布局-地形-------横向

1

将代码应用于oncreate()方法中

 if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT)
 {
    // do code here to arrange the layout as for portrait mode
 }
 else
 {
    // do code here to arrange the layout as for Landscape mode   
 } 

每次方向更改时,都会调用此函数,然后根据需要生成视图。

0

在您的清单文件中使用layout-land,而不要使用android:configChanges="orientation"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接