无法用线性布局填充空白

时间:2018-08-20 08:32:42

标签: android

我正在设计使用线性布局的屏幕。该屏幕看起来像:

enter image description here

如您所见,在最后一个布局之后,出现了一些空白,而我无法删除它们。

代码:

        <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll">

            <LinearLayout
                android:id="@+id/menu_absent_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/black"
                android:layout_marginLeft="4dp"
                android:layout_marginRight="4dp"
                android:layout_marginTop="4dp"
                android:layout_marginBottom="4dp"
                android:padding="8dp"
                android:visibility="gone"
                android:gravity="center_horizontal"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/message"
                    style="@style/BodyStrong"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:padding="8dp"
                    android:textColor="@color/white"
                    android:text="@string/default_store_message"
                    />

                <Button
                    android:id="@+id/navigate_default_menu"
                    style="@style/BodySmall"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:padding="4dp"
                    android:text="@string/default_menu"
                    android:contentDescription="@string/profile_allergies_chart"
                    android:textColor="@color/white_65_opacity"
                    android:background="@drawable/fav_box"
                    tools:ignore="MissingPrefix" />

                <Button
                    android:id="@+id/navigate_location"
                    style="@style/BodySmall"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:padding="4dp"
                    android:text="@string/location_search"
                    android:contentDescription="@string/profile_allergies_chart"
                    android:textColor="@color/white_65_opacity"
                    android:background="@drawable/fav_box"
                    tools:ignore="MissingPrefix" />

            </LinearLayout>

            <android.support.v7.widget.RecyclerView
                android:id="@+id/sub_menus"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone"
                android:background="@drawable/backgroundwhite"
                android:padding="2dp" />

            </FrameLayout>

请注意,这里还有一个回收站视图。但是它是隐藏的。我不认为这是问题的原因。

如何去除空白并进行线性布局以占据剩余空间?

编辑:将框架布局宽度更改为 match_parent 无效

4 个答案:

答案 0 :(得分:1)

尝试更改父级FrameLayout attributes

来自

android:layout_height="wrap_content"

android:layout_height="match_parent"

答案 1 :(得分:0)

您的FrameLayoutwrap_content

尝试一下:

    <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll">

答案 2 :(得分:0)

将框架布局中的android:layout_height="wrap_content"更改为android:layout_height="match_parent",以垂直填充所有空间,然后进行其他所需的更改,以使嵌套布局看起来不错。

答案 3 :(得分:0)

您应将(age <= 16) && (gender = 'm') FrameLayout属性从height更改为wrap_content

由于match_parent仅占据wrap_content所需的空间,而不是整个content的空间。

activity

更改:-

              <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll">