如何实现像新的Gmail应用程序这样的工具栏,该工具栏是半透明的,并且具有与状态栏相同的颜色,并且仅在滚动时才具有阴影。
我已在此处上传屏幕截图:gmail
这是我主要活动布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ima_default_background"
android:fitsSystemWindows="true"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
<!--the frame I load my fragments in-->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<!--toolbar frame-->
<FrameLayout
android:id="@+id/toolbar_frame_layout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<net.karthikraj.shapesimage.ShapesImage
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@color/tool_bar_color"
app:shapeDrawable="@drawable/one_rounded_rectangle_white_24dp" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
app:layout_scrollFlags="scroll|enterAlways"
app:titleTextAppearance="@style/ActionBar.nameText" />
</FrameLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation"
style="@style/navigation_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:foreground="?attr/selectableItemBackground"
app:itemIconTint="@color/bottom_nav_color_selector"
app:itemTextAppearanceActive="@style/BottomNavigation.ActiveItemTextAppearance"
app:itemTextColor="@color/bottom_nav_color_selector"
app:labelVisibilityMode="selected"
app:menu="@menu/navigation" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
答案 0 :(得分:0)
我不确定是否已经有任何本机实现可用于此。我可以想到的一种方法是在工具栏下添加另一个视图,该视图的灰色背景高度约为1dp,然后实现此滚动侦听器https://stackoverflow.com/a/10198865/9416912。
为视图提供一个ID,当用户开始滚动时,您可以通过淡入淡出的动画使其可见。然后,当用户停止时,您可以使视图不可见并淡出该视图。