在方向改变时将LinearLayout从水平切换到垂直

时间:2014-02-11 23:47:37

标签: android

我的应用程序有各种LinearLayouts,我希望纵向纵向垂直,横向横向。我知道我可以手动跟踪onLayoutChange并在代码中更改它们,但这使得它们更难在XML编辑器中使用,我不禁觉得应该有一个更简单的方法。我真正喜欢的是:

  <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation_when_in_portrait="vertical"
            android:orientation_when_in_landscape="horizontal" >

我意识到这不存在,但是有什么方法可以实现这一点吗?我不禁想到可能有一种方法可以通过RelativeLayout来解决这个问题。

1 个答案:

答案 0 :(得分:1)

我强烈建议您阅读Android Developer网站上的providing resources指南。您可能特别感兴趣in this section.

更直接地回答你的问题。通过将当前布局xml文件复制到名为“layout-land”的新文件夹并更改LinearLayout的必要属性,您将能够获得所需的行为。如果设备处于横向模式,这是Android将用于加载布局文件的文件夹。如果在“layout-land”文件夹中找不到给定的xml文件,则默认为“layout”文件夹。