默认情况下,例如。在FrameLayout容器中具有工具栏和一些其他视图会导致工具栏显示在其他视图的顶部,无论它们的(视图)顺序是什么。
是否可以强制某些视图(例如浮动操作按钮)显示在工具栏前面或应该寻找解决方法?
修改
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar"/>
<!-- some RecyclerView goes here also -->
<com.github.clans.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:src="@drawable/ic_content_add"
fab:fab_colorNormal="@color/accentColor"
fab:fab_colorPressed="@color/accentColor"
android:layout_marginRight="20dp"
/>
</FrameLayout>
结果:
问题:椭圆形按钮出现在RecyclerView前面,但在工具栏后面。
答案 0 :(得分:7)
浮动操作按钮必须与工具栏具有相同或更高的elevation
。假设您的工具栏的高程设置为8dp
,则FAB至少需要相同。
基本上具有较高高程的小部件在物理上移动并停止尊重XML顺序。