android - 不透明度的BottomNavigationView背景颜色无法正常工作
问题描述
我已经用导航图实现了 BottomNavigationView。在导航视图中将纯色设置为背景时,它工作正常,但是当我将背景颜色设置为不透明度时,它无法正常工作。
这是我的gradle文件:
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.2.1'
导航.xml
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottom_nav"
app:startDestination="@id/firstBottomNavFragment">
<fragment
android:id="@+id/firstBottomNavFragment"
android:name="com.healthymale.screens.home.fragment.HomeFragment"
android:label="@string/home" />
<fragment
android:id="@+id/secondBottomNavFragment"
android:name="com.healthymale.screens.home.fragment.ProgramsFragment"
android:label="@string/programs" />
<fragment
android:id="@+id/thirdBottomNavFragment"
android:name="com.healthymale.screens.home.fragment.TrackingFragment"
android:label="@string/tracking" />
<fragment
android:id="@+id/fourBottomNavFragment"
android:name="com.healthymale.screens.home.fragment.MoreFragment"
android:label="@string/more" />
</navigation>
我的主屏幕xml:
<layout 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"
tools:context=".screens.home.HomeScreen">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:defaultNavHost="true"
app:navGraph="@navigation/navigation" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/black_5"
app:labelVisibilityMode="labeled"
app:menu="@menu/menu" />
</LinearLayout>
</layout>
解决方案
您可以使用任何可绘制文件作为背景,因此它也有助于代码的可重用性,最重要的是,您还可以在应用程序编译后更改它,就像我们在主题更改中使用的那样
推荐阅读
- macos - 软符号链接 mac 权限被拒绝
- azure-devops - 使用 Linux 管道中的 $(Build.BuildId) 更新链接变量组中的变量
- postgresql - 是否可以在不进行两次转换的情况下获得作为 JSON 对象字段的 JSON 对象字段?
- javascript - 使用逻辑 OR 时防止 0 的值评估为 false
- python - 如何从表中的记录中返回特定列表?
- ruby-on-rails - 发送一封在 Ruby on Rails 中显示视频的邮件
- node.js - 从 mongodb 获取全日历
- ios - Cometchat 不会在通话或收到消息时唤醒应用
- html5-canvas - Canvas/WebGL 2D tilemap 网格工件
- python - 在第二列中每个匹配项的一个 DataFrame 列中查找索引