我一直在将新的(ish)材料 BottomAppBar 与标准的 BottomNavigationView 结合起来。我的xml是这样的:
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:fabAlignmentMode="center">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="@android:color/transparent"
app:itemTextAppearanceActive="@style/AppTheme.Text.BottomNavText.Active"
app:itemTextAppearanceInactive="@style/AppTheme.Text.BottomNavText"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_nav_menu" />
</com.google.android.material.bottomappbar.BottomAppBar>
在以前的版本 - 1.0.0 - 这工作正常,我仍然可以按预期看到 FAB 插图。唯一的小缺点是这个版本的材质组件库没有对底部应用栏的高度效果进行排序,因此栏和上面的内容之间的区别并不明显。
当我升级到最新的库时,我相信在撰写本文时implementation 'com.google.android.material:material:1.1.0-alpha09'
,我得到了 BottomAppBar 高程效果,但是当我将透明背景应用到 BottomNavigationView 时,我得到了一个非常奇怪的视觉效果,这对于我的一生来说我不能理解。
如果我删除透明背景颜色,效果会消失,但我会丢失 FAB 插图,如下所示:
如果我完全删除底部导航视图子项,并且只有 BottomAppBar,我会看到正常的视觉效果,但没有我的导航:
我会喜欢: - 一个很好的解决方案,将底部导航视图合并到 BottomAppBar 中,同时保留 1.1.0 版库良好的提升效果,并且在其中有效地使用 BottomNavigationView,因此我保留了该导航组件的所有好处 - 或解释因为到底是什么导致了这种特殊的第一高程效果,理想情况下是一种修复它的方法