透明状态栏下工具栏不会滚动
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 the
AppBarLayout。
为工具栏添加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