如何根据平板电脑的方向定位布局

问题描述:

我正在为平板电脑和移动设备创建演示应用程序。
现在有一个活动有两个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"行。这会停止被破坏和重新创建的活动。

没有它,操作系统将自动销毁活动并使用新方向的布局重新创建活动。

如果您不想自动销毁它,则可以捕获事件并在此处再次手动设置布局。

+0

如果我删除,因为你提到的应用程序崩溃,因为方向改变.. – Pravin 2013-04-23 13:18:21

+0

该活动应该被销毁和重新创建。如果你不想这样做,那么你必须重写'onConfigurationChanged(Configuration newConfig)'并再次使用相同的布局设置内容视图,你将需要更新任何对视图的引用,因为它们都将被替换 – ScouseChris 2013-04-23 13:21:03