我正在尝试创建一个包含子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移动到右边。
由于
答案 0 :(得分:1)
FrameLayout
上的Android Documentation
FrameLayout旨在阻挡屏幕上要显示的区域 单个项目
您应该以root身份使用LinearLayout
或RelativeLayout
,除非您希望在任何给定时间只显示一个孩子。我假设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>