Android上的“拆分视图”应用

时间:2011-02-01 14:40:49

标签: android-layout

我是Android开发的新手。我喜欢在“拆分视图”中开发应用程序(ipad具有内置框架)。我为“WVGA800”横向模式做了样本,但是对于多个屏幕无法修复它。示例代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget30"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<LinearLayout
android:id="@+id/widget32"
android:layout_width="395dp"
android:layout_height="fill_parent"
android:background="#ff99ff99"
android:orientation="vertical"
android:layout_alignBottom="@+id/widget31"
android:layout_toRightOf="@+id/widget31"
>
</LinearLayout>
<LinearLayout
android:id="@+id/widget31"
android:layout_width="166dp"
android:layout_height="fill_parent"
android:background="#ff9999ff"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
>
</LinearLayout>
</RelativeLayout>

以上是样本布局。任何人都可以建议我如何修复多个屏幕的“拆分视图”。

2 个答案:

答案 0 :(得分:4)

根据我的经验,如果你试图使用像“toRightOf”这样的属性(你知道,相对那些),那么RelativeLayout会被破坏。我不确定Fragments是否会解决您的问题,因为它们会替换您的LinearLayouts而不是问题所在的容器。

您可以使用包含两个垂直LinearLayouts(或碎片,如果您愿意)的水平LinearLayout来执行此操作。您需要做的就是在用户拖动分割条时,相互更改两个子项的layout_weight属性(当您减少另一个时增加一个)。

答案 1 :(得分:2)

您现在可以在API 11中使用Fragments。还支持API 4或更高版本,但我不确定是否支持所有功能。看看:

http://developer.android.com/guide/topics/fundamentals/fragments.html http://developer.android.com/reference/android/app/Fragment.html

对于API 4: http://android-developers.blogspot.com/2011/03/fragments-for-all.html