我有问题。我要在彼此之间创建3个FrameLayout,因此我创建了以下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#071c3f"
android:orientation="vertical">
<FrameLayout
android:id="@+id/ActionBarContainer"
android:layout_width="match_parent"
android:layout_height="75dp"/>
<FrameLayout
android:id="@+id/LayoutContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<FrameLayout
android:id="@+id/ToolBarContainer"
android:layout_width="match_parent"
android:layout_height="40dp"/>
</LinearLayout>
但这仅显示前两个FrameLayout,而第三个FrameLayout不可见。我在做什么错了?
答案 0 :(得分:0)
这是因为在放置第一个FrameLayout之后,您的第二个视图会占用所有剩余的屏幕空间(使用“ match_parent”)。
您似乎想要固定的页眉和页脚以及填充剩余空间的内容视图。因此,如果这个假设是正确的,我想这就是您要遵循的...注意“ layout_weight”属性的用法以及如何为内容视图分配“ 1”,而向其他视图分配“ 0”。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#071c3f"
android:orientation="vertical">
<FrameLayout
android:id="@+id/ActionBarContainer"
android:background="@color/red"
android:layout_width="match_parent"
android:layout_height = "75dp"
android:layout_weight = "0"/>
<FrameLayout
android:id="@+id/LayoutContainer"
android:background="@color/blue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight = "1"/>
<FrameLayout
android:id="@+id/ToolBarContainer"
android:background="@color/green"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_weight = "0"/>
</LinearLayout>
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ffff0000</color>
<color name="blue">#ff0000ff</color>
<color name="green">#ff00ff00</color>
</resources>
屏幕截图
希望这会有所帮助!