设置工具栏可见性时,调整框架布局的大小?

时间:2016-08-17 23:35:24

标签: android android-layout android-fragments

我有以下布局,我将FrameLayout listContainer替换为片段:

<RelativeLayout
    android:id="@+id/content_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center|bottom"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_alignParentTop="true"
        android:background="@color/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ToolBarStyle"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        <TextView
            android:id="@+id/appTitle"
            android:layout_width="@dimen/toolbar_title_width"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:textColor="@color/colorTitleFont"
            android:textStyle="bold"
            android:ellipsize="end"
            android:layout_gravity="center"/>

    </android.support.v7.widget.Toolbar>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/content_view_panes"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <WebView
                android:id="@+id/mainWebView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="gone" />

            <FrameLayout
                android:id="@+id/listContainer"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/saveCancelBar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/save_cancel_bar_height"
            android:background="@color/fluxx_blue"
            android:visibility="gone">

            <Button
                android:id="@+id/editorCancelButton"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:background="@color/fluxx_blue"
                android:text="@string/editor_cancel"
                android:textColor="@color/white"
                style="?attr/borderlessButtonStyle"/>

            <Button
                android:id="@+id/editorSaveButton"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:background="@color/fluxx_blue"
                android:text="@string/editor_save"
                android:textColor="@color/white"
                style="?attr/borderlessButtonStyle" />
        </RelativeLayout>
    </LinearLayout>
</RelativeLayout>

我的片段需要隐藏工具栏。我在片段的onResume()方法的工具栏上调用了setVisibility(View.GONE),因为我还希望在通过背压导航到片段时隐藏它。但是,当我隐藏工具栏时,我的片段不占用整个屏幕。大概这是因为我删除了工具栏,它将所有内容移动到工具栏的高度。但是,我的FrameLayout的layout_weight为1,我认为这将确保它延伸以填充屏幕。怎么能确保它调整大小?

1 个答案:

答案 0 :(得分:0)

您应该将android:layout_weight="1"属性添加到消失的工具栏下方的LinearLayout

不是嵌入式的。