设置layout_scrollFlags时,Android工具栏不会隐藏

时间:2015-11-24 07:34:50

标签: android toolbar

我正在测试android.support.design库,但我遇到了这个问题。请先看下面的图片。

点击链接查看图片:scroll state image

点击链接查看图片:not scroll state image

你可以看到它,工具栏没有隐藏在状态栏的后面。我的布局如下:

<android.support.design.widget.CoordinatorLayout    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:fitsSystemWindows="true"
tools:context=".SettingActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/action_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="10dp"
    android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>

有人可以给我一些建议吗?

3 个答案:

答案 0 :(得分:4)

最后,我解决了这个问题。我的材料测试项目是基于Android Studio IDE默认设置创建的。所以我检查 values-v21 / styles.xml 文件。它有一个默认项<item name="android:statusBarColor">@android:color/transparent</item>。删除项目后,它工作正常。

答案 1 :(得分:0)

尝试进行以下更改:

1) 从协调器布局中删除Form

2)从private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Modifiers == Keys.Control && e.KeyCode == Keys.S) { buttonSave_Click(null, null); } if (e.Modifiers == Keys.Control && e.KeyCode == Keys.S) { buttonEdit_Click(null, null); } } 剪切android:fitsSystemWindows="true"并将其粘贴到android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

答案 2 :(得分:0)

@ user5549139我遇到了同样的问题。你不应该删除

<item name="android:statusBarColor">@android:color/transparent</item>

它为您提供透明的状态,与材料设计保持一致。

我的问题是,CordinatorLayout android:fitsSystemWindows="true"DrawerLayout作为孩子加入android:fitsSystemWindows="true",其中android:fitsSystemWindows="true"也有CoordinatorLayout。我从嵌套(包含){{1}}中删除了{{1}},隐藏工具栏开始正常工作。我认为你必须从工具栏中删除它。