FrameLayout不可见

时间:2019-05-22 18:01:56

标签: xamarin.android

我有问题。我要在彼此之间创建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不可见。我在做什么错了?

1 个答案:

答案 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>

屏幕截图

enter image description here

希望这会有所帮助!