首页 > 解决方案 > 底部导航栏未显示 - Android

问题描述

我正在学习 Android,我正在尝试实现底部导航栏。在活动主中,导航栏出现,但不在模拟器中。下面是 MainActivity 和 ActivityMain 文件。谢谢您的帮助!

MainActivity.kt

package com.example.androidapp
    
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.Navigation
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import kotlinx.android.synthetic.main.activity_main.*
    
class MainActivity : AppCompatActivity() {
        
      private lateinit var navController: NavController
    
      override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            navController = findNavController(R.id.navHostFragment)
            val appBarConfiguration = AppBarConfiguration(
                 setOf(
                     R.id.photoFragment,
                     R.id.recyclerViewFragment,
                     R.id.settingsFragment
                 )
             )
    
             bottomNavigationView.setupWithNavController(navController)
             setupActionBarWithNavController(navController, appBarConfiguration)
    
        }
    
        override fun onSupportNavigateUp(): Boolean {
             return navController.navigateUp() || super.onSupportNavigateUp()
        }
        
}

活动主

<androidx.constraintlayout.widget.ConstraintLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/lightGray"
    tools:context=".MainActivity">

<fragment
    android:id="@+id/navHostFragment"
    android:name="androidx.navigation.fragment.NavHostFragment"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:defaultNavHost="true"
    app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:navGraph="@navigation/navigation_bottom" />

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottomNavigationView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:menu="@menu/bottom_nav_menu"/>

</androidx.constraintlayout.widget.ConstraintLayout>

标签: androidkotlin

解决方案


推荐阅读