底部导航栏与其上方的视图重叠
Bottom Navigation Bar overlaps view above it
我有以下视图层次结构
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity"
>
...
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/am_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
app:itemIconTint="@drawable/bottom_navigation_colors"
app:itemTextColor="@drawable/bottom_navigation_colors"
app:labelVisibilityMode="unlabeled"
app:menu="@menu/menu_bottom_navigation"
/>
<include layout="@layout/toolbar" />
<View
android:id="@+id/am_fade_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.5"
android:visibility="gone"
android:background="@android:color/black"
android:layerType="hardware"
/>
<FrameLayout
android:id="@+id/am_tracker_over_layout"
android:visibility="gone"
android:layout_margin="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>
</RelativeLayout>
我希望 am_tracker_over_layout
显示在所有其他内容之前,但 BottomNavigationView
领先。为清楚起见,将其设为透明。
尝试用谷歌搜索。阅读组中的最后一个视图显示在前面,但 BottomNavigationView
似乎并非如此。
那么,我怎样才能明确地将 BottomNavigationView
移到其他视图后面?
使用 layout_above
属性 到 FrameLayout
将其放在 BottomNavigationView
上方,如下所示:
<FrameLayout
android:id="@+id/am_tracker_over_layout"
android:visibility="gone"
android:layout_margin="20dp"
android:layout_above="@+id/am_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
或者如果你想在 BottomNavigationView
上重叠它,那么在 BottomNavigationView
上使用 elevation
到 0dp 来处理 Z 轴,如下所示:
app:elevation="0dp"
您似乎需要设置底部导航视图高度。尝试在底部导航视图标签
中添加以下内容 属性
android:elevation="0dp"
我有以下视图层次结构
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity"
>
...
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/am_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
app:itemIconTint="@drawable/bottom_navigation_colors"
app:itemTextColor="@drawable/bottom_navigation_colors"
app:labelVisibilityMode="unlabeled"
app:menu="@menu/menu_bottom_navigation"
/>
<include layout="@layout/toolbar" />
<View
android:id="@+id/am_fade_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.5"
android:visibility="gone"
android:background="@android:color/black"
android:layerType="hardware"
/>
<FrameLayout
android:id="@+id/am_tracker_over_layout"
android:visibility="gone"
android:layout_margin="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>
</RelativeLayout>
我希望 am_tracker_over_layout
显示在所有其他内容之前,但 BottomNavigationView
领先。为清楚起见,将其设为透明。
尝试用谷歌搜索。阅读组中的最后一个视图显示在前面,但 BottomNavigationView
似乎并非如此。
那么,我怎样才能明确地将 BottomNavigationView
移到其他视图后面?
使用 layout_above
属性 到 FrameLayout
将其放在 BottomNavigationView
上方,如下所示:
<FrameLayout
android:id="@+id/am_tracker_over_layout"
android:visibility="gone"
android:layout_margin="20dp"
android:layout_above="@+id/am_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
或者如果你想在 BottomNavigationView
上重叠它,那么在 BottomNavigationView
上使用 elevation
到 0dp 来处理 Z 轴,如下所示:
app:elevation="0dp"
您似乎需要设置底部导航视图高度。尝试在底部导航视图标签
中添加以下内容 属性android:elevation="0dp"