为什么我的底部导航视图不显示任何标题或图标?
Why my Bottom Navigation View does not show any titles or icons?
这是我在 activity_main.xml 中的底部导航视图:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:background="?android:attr/windowBackground"
android:backgroundTint="#1091BF"
app:itemIconTint="#fff"
app:itemTextColor="#fff"
app:menu="@menu/navigation_bottom" />
这是我在 navigation_bottom.xml 中的底部导航菜单:
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="nav_home"
android:icon="@drawable/ic_navigation_24dp"
android:title="@string/home"/>
<item
android:id="nav_education"
android:icon="@drawable/ic_school_24dp"
android:title="@string/education"/>
<item
android:id="nav_report"
android:icon="@drawable/ic_report_24dp"
android:title="@string/report"/>
<item
android:id="nav_activity"
android:icon="@drawable/ic_activity_24dp"
android:title="@string/activity"/>
<item
android:id="nav_profile"
android:icon="@drawable/ic_person_24dp"
android:title="@string/profile"/>
这是我在 build.gradle(Module:app) 中的依赖项:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//Added code
//Navigation Dependencies
def nav_version = "2.1.0"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"}
我不明白为什么我的底部导航视图不显示任何内容。在 activity_main.xml 的设计选项卡上,当我选择 wrap_content 到 layout_height 时,它甚至没有任何高度。
看到这个:LabelVisibilityMode
将您的 app:labelVisibilityMode 设置为标签
如果您想使用 BottomNavigation,您可以在 xml 文件中设置菜单:
app:menu="@menu/my_navigation_items"
然后您所要做的就是覆盖 activity 中的 onOptionsItemSelected(MenuItem item)
方法并实现真正的导航。
如果我没猜错你也想显示标题?你的应用程序的名称?
你不能用 BottomNavigation 做到这一点。然后,您应该将 AppBarLayout 与 BottomNavigation
一起使用
希望对您有所帮助。
来源:
尝试使用 app1 属性而不是 app:
app1:itemIconTint="#fff"
app1:itemTextColor="#fff"
app1:menu="@menu/navigation_bottom"
此外,在 Module:app 版本的 gradle 中添加此依赖项。
implementation 'com.google.android.material:material:1.2.0'
希望有用!!!
这是我在 activity_main.xml 中的底部导航视图:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:background="?android:attr/windowBackground"
android:backgroundTint="#1091BF"
app:itemIconTint="#fff"
app:itemTextColor="#fff"
app:menu="@menu/navigation_bottom" />
这是我在 navigation_bottom.xml 中的底部导航菜单:
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="nav_home"
android:icon="@drawable/ic_navigation_24dp"
android:title="@string/home"/>
<item
android:id="nav_education"
android:icon="@drawable/ic_school_24dp"
android:title="@string/education"/>
<item
android:id="nav_report"
android:icon="@drawable/ic_report_24dp"
android:title="@string/report"/>
<item
android:id="nav_activity"
android:icon="@drawable/ic_activity_24dp"
android:title="@string/activity"/>
<item
android:id="nav_profile"
android:icon="@drawable/ic_person_24dp"
android:title="@string/profile"/>
这是我在 build.gradle(Module:app) 中的依赖项:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//Added code
//Navigation Dependencies
def nav_version = "2.1.0"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"}
我不明白为什么我的底部导航视图不显示任何内容。在 activity_main.xml 的设计选项卡上,当我选择 wrap_content 到 layout_height 时,它甚至没有任何高度。
看到这个:LabelVisibilityMode 将您的 app:labelVisibilityMode 设置为标签
如果您想使用 BottomNavigation,您可以在 xml 文件中设置菜单:
app:menu="@menu/my_navigation_items"
然后您所要做的就是覆盖 activity 中的 onOptionsItemSelected(MenuItem item)
方法并实现真正的导航。
如果我没猜错你也想显示标题?你的应用程序的名称? 你不能用 BottomNavigation 做到这一点。然后,您应该将 AppBarLayout 与 BottomNavigation
一起使用希望对您有所帮助。
来源:
尝试使用 app1 属性而不是 app:
app1:itemIconTint="#fff"
app1:itemTextColor="#fff"
app1:menu="@menu/navigation_bottom"
此外,在 Module:app 版本的 gradle 中添加此依赖项。
implementation 'com.google.android.material:material:1.2.0'
希望有用!!!