如何在Android中的splitView中添加splitView(多视图窗格)

时间:2011-12-19 09:15:25

标签: android android-layout android-fragments

splitView within splitView

我想基于Android中显示的图像中继的逻辑实现splitView。

是否可以实际执行此操作?如果是这样,有人可以告诉我应该如何继续优先考虑一个例子吗?

非常感谢。

4 个答案:

答案 0 :(得分:0)

我认为这将在布局文件下点击

执行您想要的操作
<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/root"
        android:orientation="horizontal" >
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <LinearLayout
            android:id="@+id/base"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
        </LinearLayout>
    </LinearLayout>
  1. 第二个按钮将根orientation更改为vertical,并基于horizontal
  2. 第一个按钮可以反转将产生layout
  3. 的更改

答案 1 :(得分:0)

执行此操作的最佳方法是使用片段。虽然它们是Honeycomb的新功能,但Android兼容包支持它们一直回到api级别4. http://developer.android.com/reference/android/app/Fragment.html

答案 2 :(得分:0)

尝试此代码用于xml布局..          `          

       <LinearLayout
       android:id="@+id/linearLayout1"
       android:layout_width="wrap_content"
       android:layout_height="fill_parent"
       android:layout_weight="1"
       android:orientation="vertical" >

       <View
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:background="#234567" />
      </LinearLayout>

      <LinearLayout
      android:id="@+id/linearLayout2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:background="#ffffff"
      android:orientation="vertical"
      android:weightSum="2" >

      <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:layout_weight="1"
        android:background="#234545"
        android:orientation="vertical" >

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#234567" />
      </LinearLayout>

      <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:layout_weight="1"
        android:background="#235656"
        android:orientation="vertical" >

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#234567" />
      </LinearLayout>
      </LinearLayout>

      </LinearLayout>`

答案 3 :(得分:0)

这可以是一个解决方案

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:weightSum="1.0" >

    <LinearLayout
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight=".50" />

    <LinearLayout
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight=".50"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0px"
            android:layout_weight=".25" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0px"
            android:layout_weight=".25" />
    </LinearLayout>

</LinearLayout>

但布局权重需要测量窗口小部件两次。当具有非零权重的LinearLayout嵌套在具有非零权重的另一个LinearLayout内时,则测量数量呈指数增长。

同样使用相对布局检查此link以获取一些替代方案。但是你不能在相对布局中使用权重。