如何根据平板电脑的方向定位布局
我正在为平板电脑和移动设备创建演示应用程序。
现在有一个活动有两个tabs
,所以里面的标签有ListView
。
我的问题是我想从左侧和右侧显示ListView
一些边距。因此,作为方向更改,边距值也发生变化
我已根据以下内容从developer side中阅读文档以下是代码片段的listview。
内res/layout-xlarge-land
文件夹如何根据平板电脑的方向定位布局
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="250dp"
android:layout_marginRight="250dp" >
</ListView>
内res/layout-xlarge-port
文件夹
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp" >
</ListView>
现在的问题是,当我改变平板电脑的方向,只需要纵向模式的XML文件,而不是景观xml文件。那么如何解决这个问题。
也包括在manifeast文件<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" />
<supports-screens android:anyDensity="true" android:resizeable="true"/>
和活动包括android:configChanges="orientation|screenSize"
尝试
布局sw600dp土地景观模式7" 平板电脑
布局sw600dp端口为肖像模式in 7“tablet
layout-sw720dp-land for landscape mode in 10”tablet
用于10“平板电脑中肖像模式的layout-sw720dp-port
您需要从清单中删除android:configChanges="orientation|screenSize"
行。这会停止被破坏和重新创建的活动。
没有它,操作系统将自动销毁活动并使用新方向的布局重新创建活动。
如果您不想自动销毁它,则可以捕获事件并在此处再次手动设置布局。
如果我删除,因为你提到的应用程序崩溃,因为方向改变.. – Pravin 2013-04-23 13:18:21
该活动应该被销毁和重新创建。如果你不想这样做,那么你必须重写'onConfigurationChanged(Configuration newConfig)'并再次使用相同的布局设置内容视图,你将需要更新任何对视图的引用,因为它们都将被替换 – ScouseChris 2013-04-23 13:21:03