Android开发实用Navigation怎么改变导航栏图标、字体颜色,如何去掉标题栏?请看这里。

发布时间:2024年01月20日

1、废话不多,直接上代码:

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        supportActionBar?.hide()

        val navView: BottomNavigationView = binding.navView

        val navController = findNavController(R.id.nav_host_fragment_activity_main)

        val appBarConfiguration = AppBarConfiguration(
            setOf(
                R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications
            )
        )
        setupActionBarWithNavController(navController, appBarConfiguration)
        navView.setupWithNavController(navController)
        @SuppressLint("ResourceType")
        val colorState: ColorStateList = resources.getColorStateList(
            R.drawable.ic_notifications_black_24dp,
            resources.newTheme()
        )
        binding.navView.itemTextColor = colorState

        binding.ivMenu.setOnClickListener {
            showSetDialog()
        }
    }
  • 去掉标题栏的操作:在 Activity->onCreate函数中? setContentView(binding.root)之后直接调用
    supportActionBar?.hide(),注意切勿使用或改动清单文件中的android:theme 属性值。
  • 改变导航栏字体选中效果:
    binding.navView.itemTextColor = colorState
  • 改变导航栏 icon :打开res->menu文件夹中的xxx_menu.xml文件,逐一修改 item标签中的
    android:icon 属性值。属性值尽量实用 drawable资源,可通过Asset 创建自己项目需要的 drawable资源。 也可以直接使用 mipmap资源。
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:id="@+id/navigation_home"
            android:icon="@drawable/round_w_g"
            android:title="@string/title_home" />
    
        <item
            android:id="@+id/navigation_dashboard"
            android:icon="@drawable/round_w_g"
            android:title="@string/title_dashboard" />
    
        <item
            android:id="@+id/navigation_notifications"
            android:icon="@drawable/round_w_g"
            android:title="@string/title_notifications" />
    
    </menu>

    如有问题可联系博主。? 谢谢阅读,烦请关注!!

文章来源:https://blog.csdn.net/this_is_bug/article/details/135689512
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。