3

我正在尝试创建一个包含子 Framelayout 的 Framelayout,我无法将子 Framelayout 定位到父 Framelayout 的右侧!

我试过android:foregroundGravity="right"android:layout_weight="1"

 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:layout_weight="1">    

<com.example.ListViewActivity
        android:id="@+id/list_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
</com.example.ListViewActivity>

    <FrameLayout
        android:id="@+id/indexRight"
        android:layout_width="36dp"
        android:layout_height="fill_parent"
        android:layout_gravity="left"
        android:background="@color/white"      
        android:orientation="vertical" >

    </FrameLayout>

</FrameLayout>

截屏:在此处输入图像描述

如上图所述,我想将白色 FrameLayout 移到右侧。

谢谢

4

1 回答 1

1

来自Android文档FrameLayout

FrameLayout 被设计为在屏幕上屏蔽一个区域以显示单个项目

您应该使用 aLinearLayout或 aRelativeLayout作为根,除非您想在任何给定时间只显示一个孩子。我假设这com.example.ListViewActivity是您已经实现的自定义视图,而不是实际的Activity

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">    

    <com.example.ListViewActivity
        android:id="@+id/list_view"
        android:layout_width="0dp"
        android:layout_height="fill_parent" 
        android:layout_weight="1">
    </com.example.ListViewActivity>

    <!-- This FrameLayout will be located on the right side, with the ListView on its left side -->
    <FrameLayout
        android:id="@+id/indexRight"
        android:layout_width="36dp"
        android:layout_height="fill_parent"
        android:background="@color/white">
        <!-- SINGLE child here -->
    </FrameLayout>
</LinearLayout>
于 2012-12-10T14:12:46.070 回答