透明状态栏下工具栏不会滚动

Posted

技术标签:

【中文标题】透明状态栏下工具栏不会滚动【英文标题】:Toolbar won't scroll under transparent statusbar 【发布时间】:2015-10-21 06:32:44 【问题描述】:

我希望工具栏(操作栏)在向下滚动时完全隐藏。在启动活动或向上滚动时,工具栏应该是可见的并且状态栏是浅灰色的。

    以 [ 状态栏 | 开始工具栏 |内容] 向下滚动 [ co-(statusbar)-ntent ]​​i> 向上滚动 [ 状态栏 |工具栏 |内容]

目前:

    在启动/引导时

    向下滚动内容

    向上滚动内容

activity_layout.xml

<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_
android:layout_
android:background="@color/background_white"
tools:context="com.conevoud.captjeluigi.ui.activities.GalleryActivity">

<android.support.design.widget.CoordinatorLayout
    android:layout_
    android:layout_
    android:orientation="vertical">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_
        android:layout_
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <include layout="@layout/toolbar" />

</android.support.design.widget.CoordinatorLayout>

<include layout="@layout/drawer_left" />

</android.support.v4.widget.DrawerLayout>

工具栏.xml

<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.design.widget.AppBarLayout
    android:id="@+id/toolbar_frame"
    android:layout_
    android:layout_>

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_
        android:layout_
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="?popup_theme"
        app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

</android.support.design.widget.AppBarLayout>
</merge>

风格:

    <item name="windowActionModeOverlay">true</item>

    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:windowTranslucentStatus">true</item>

感谢您阅读本文。

【问题讨论】:

运气好能解决这个问题吗? 我找到了解决办法,还有人想知道吗? 是的,请。 @ThirdMartian @Nominalista 你能帮我吗?我有同样的问题:/ 【参考方案1】:

我之前遇到过一个奇怪的问题,请尝试在您的 AppBarLayout 中设置 android:fitsSystemWindows=”true”

<android.support.design.widget.AppBarLayout
    android:id="@+id/toolbar_frame"
    android:fitsSystemWindows=”true”
    android:layout_
    android:layout_>

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_
        android:layout_
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="?popup_theme"
        app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

</android.support.design.widget.AppBarLayout>

【讨论】:

【参考方案2】:

我遇到了类似的问题。我的解决了。

    添加了android:fitsSystemWindows="true" to theAppBarLayout。 为工具栏添加app:layout_scrollFlags="scroll|enterAlways|snap"

下面是我的布局。

<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_
android:layout_
tools:context=".HomeActivity">

<android.support.design.widget.AppBarLayout
    android:layout_
    android:layout_
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_
            android:layout_
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways|snap"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    <android.support.design.widget.TabLayout
        android:id="@+id/id_tabs"
        android:layout_
        android:layout_/>

</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/id_viewpager"
    android:layout_
    android:layout_
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_
    android:layout_
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_dialog_email"/>

【讨论】:

【参考方案3】:

看起来唯一的选择是 - 摆脱

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

财产

【讨论】:

以上是关于透明状态栏下工具栏不会滚动的主要内容,如果未能解决你的问题,请参考以下文章

半透明状态栏和工具栏

导航栏颜色不在状态栏下

半透明/透明状态栏 + CoordinatorLayout + Toolbar + Fragment

iOS 7 状态栏透明

如何让我的网站内容在我的固定菜单栏下滚动并在透明背景下消失?

Android状态栏/导航虚拟按键实现全透明小记