【发布时间】:2013-06-26 15:19:57
【问题描述】:
这有点令人沮丧。我试图想出一种布局认可的方式,在纵向时沿顶部水平重新定位按钮工具栏,在横向时沿右侧垂直重新定位。例如我想要一排动作按钮根据方向让开。
首先,我不想在它的 layout-land 版本中复制所有 activity_main.xml 布局内容,所以我尝试使用该元素指向 toolbar.xml 布局和它的 layout-land 版本。
/res
/layout
/activity_main.xml
/toolbar.xml
/layout-land
/toolbar.xml
activity_main.xml:
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
...
<include android:id="@+id/toolbar" layout="@layout/toolbar"/>
...
工具栏.xml:
<ToggleButton
android:id="@+id/serviceToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:text="Port!" />
...
layout-land/toolbar.xml:
<ToggleButton
android:id="@+id/serviceToggleButton"
android:layout_width="64dip"
android:layout_height="64dip"
android:layout_marginRight="10dip"
android:text="Land!" />
...
不起作用。当平板电脑的方向改变时,我得到相同的按钮文本“端口!”和“陆地!”按钮文本永远不会出现。例如我更改了按钮文本,以防我的 LinearLayout 属性未按预期对齐。
所以!我尝试使用所有描述主要布局 xml 文件的陆地/端口示例,并使用 .我创建了 activity_main.xml 的布局副本,并调整了布局以使其在横向中出现。 (我也删除了)
/res
/layout
/activity_main.xml
/layout-land
/activity_main.xml
不起作用。我现在有一个干净的纵向和横向activity_main.xml,当我的方向改变时不会出现明显的差异。
什么给了?有人有什么建议吗?顺便说一句,在这种情况下,我坚持使用 Android 2.3.4。提前致谢!
【问题讨论】:
-
你在 AndroidManifest.xml 文件中的 configChanges 标志吗?
-
我的 AndroidManifest.xml 中有
MainActivity 的 android:configChanges="orientation|keyboardHidden">。应该没问题吧? -
不,不是。如果你想使用 layout-land 你必须删除那些标志