如何在android中编程设置导航抽屉的背景色

kyks70gy  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(471)

我正在创建一个应用程序,它可以让你改变用户界面任何部分(任何按钮、背景等)的颜色。导航抽屉目前只有三种状态可供切换:亮、暗或黑。我通过使用三个独立的、完全相同的activity_主布局实现了这一点,它们唯一的区别是导航抽屉的背景色(xml)。它只是根据用户在应用程序设置中选择的主题在setcontentview中加载适当的布局。
然而,考虑到用户可以将其应用程序的背景颜色设置为他们想要的任何颜色,当他们的背景是浅蓝色,导航抽屉是亮白色时,会有点不和谐。我想有一种方法可以用java编程设置抽屉的背景,这样我就可以将它设置为用户的背景颜色,或者可能是较亮/较暗的阴影,等等。
我的项目的最小api级别是21,目标是api 30。我已经查阅了所有关于导航抽屉类中包含的方法的文档,但找不到任何可以实现这一点的方法。
澄清一下,这个项目完全是用java编写的,所以我可能不理解kotlin中的任何答案。然而,任何帮助都是感激的!提前感谢您提供的任何信息。

mrfwxfqh

mrfwxfqh1#

我知道是kotlin,但方法应该是一样的:

val navigationView = findViewById(R.id.nav_view)
navigationView.setBackgroundColor(Color.RED) // use your color here

和xml:

<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"/>

相关问题