android – 协调器布局内容显示在状态栏后面

android – 协调器布局内容显示在状态栏后面,第1张

概述我正在构建一个带有地图片段的工具栏作为其中的一部分.工具栏固定在位并且不透明. 每当视图的内容向上滚动时,地图片段随之移动,但它在工具栏上方可见(因此在状态栏本身和状态栏的橙色背景之间). 这是由此产生的问题: 如果我滚动一点,稀松布正常消失,但为时已晚. 当它在工具栏上方时,是否有一种不绘制内容的方法?或者在AppBarLayout内容前面绘制状态栏背景的方法? 我已经尝试在AppBarLayo 我正在构建一个带有地图片段的工具栏作为其中的一部分.工具栏固定在位并且不透明.

每当视图的内容向上滚动时,地图片段随之移动,但它在工具栏上方可见(因此在状态栏本身和状态栏的橙色背景之间).

这是由此产生的问题:

如果我滚动一点,稀松布正常消失,但为时已晚.

当它在工具栏上方时,是否有一种不绘制内容的方法?或者在AppbarLayout内容前面绘制状态栏背景的方法?

我已经尝试在AppbarLayout前面绘制一个视图(在状态栏的正下方),但是一旦MapFragment一直向上滚动,它就会被带到该视图的前面,使MapFragment在一瞬间可见.

<?xml version="1.0" enCoding="utf-8"?><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:ID="@+ID/main_content"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:clickable="true"    androID:fitsSystemwindows="true">    <androID.support.design.Widget.AppbarLayout        androID:ID="@+ID/appbar"        androID:layout_wIDth="match_parent"        androID:layout_height="@dimen/promotion_details_image_height"        androID:clickable="true"        androID:fitsSystemwindows="true"        androID:theme="@style/themeOverlay.AppCompat.Dark.Actionbar">    <androID.support.design.Widget.CollapsingToolbarLayout        androID:ID="@+ID/collapsing_toolbar"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:background="@color/orange"        androID:fitsSystemwindows="true"        app:layout_scrollFlags="scroll|exitUntilCollapsed">        <relativeLayout            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent"            androID:layout_margintop="?attr/actionbarSize">            <fragment                androID:ID="@+ID/map"                androID:name="com.Google.androID.gms.maps.SupportMapFragment"                androID:layout_wIDth="match_parent"                androID:layout_height="match_parent"                app:layout_collapseMode="none"                tools:context=".restaurants.stores.StoresFragment" />            <ImageVIEw                androID:ID="@+ID/minimizeBtn"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:layout_margin="@dimen/stores_details_minimize_margin"                androID:clickable="true"                androID:contentDescription="@null"                androID:paddingtop="@dimen/status_bar_height"                androID:src="@drawable/selector_map_minimize_btn"                androID:visibility="gone" />            <include                androID:ID="@+ID/cardDetailsLayout"                layout="@layout/store_card_small_detail"                androID:layout_wIDth="match_parent"                androID:layout_height="@dimen/stores_details_card_height"                androID:layout_alignParentBottom="true"                androID:layout_margin="10dp"                androID:visibility="gone" />        </relativeLayout>        <androID.support.v7.Widget.Toolbar            androID:ID="@+ID/toolbar"            androID:layout_wIDth="match_parent"            androID:layout_height="?attr/actionbarSize"            androID:background="?attr/colorPrimary"            androID:minHeight="?attr/actionbarSize"            app:layout_collapseMode="pin"            app:popuptheme="@style/themeOverlay.AppCompat.light">            <com.app.vIEws.FontTextVIEw                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:ellipsize="end"                androID:singleline="true"                androID:text="@string/store_toolbar_text"                androID:textcolor="@color/white"                androID:textSize="@dimen/toolbar_text_size"                app:Font="@string/FontFlamaMedium" />        </androID.support.v7.Widget.Toolbar>    </androID.support.design.Widget.CollapsingToolbarLayout>    </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.CoordinatorLayout>

编辑:
布局xml中,androID:layout_behavior属性与我的RecyclerVIEw相关联,但工具栏的内容具有正确的行为,问题是它在状态栏下是可见的,我不希望它.

解决方法 你应该删除你的参数:androID:fitsSystemwindows =“true”

有关此内容的更多信息,请访问Google developper:
https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec

总结

以上是内存溢出为你收集整理的android – 协调器布局内容显示在状态栏后面全部内容,希望文章能够帮你解决android – 协调器布局内容显示在状态栏后面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存