【问题标题】:How to programatically set background color of Nav Drawer in Android如何在 Android 中以编程方式设置导航抽屉的背景颜色
【发布时间】:2021-09-17 15:56:23
【问题描述】:

我正在创建一个应用程序,可让您更改 UI 几乎任何部分(任何按钮、背景等)的颜色。导航抽屉目前只有三种状态:浅色、深色或黑色。我通过使用三个独立的相同activity_main 布局实现了这一点,它们唯一的区别是导航抽屉在XML 中的背景颜色。它只是根据用户在应用设置中选择的主题在 setContentView 中加载适当的布局。

但是,考虑到用户可以将其应用的背景颜色设置为他们想要的任何颜色这一事实,当他们的背景是浅蓝色,而导航抽屉是亮白色时,这有点不和谐。我希望有一种方法可以在 Java 中以编程方式设置抽屉的背景,这样我就可以将其设置为用户的背景颜色,或者更亮/更暗的阴影等。

我的项目的最低 API 级别是 21,它的目标是 API 30。我查看了我能找到的关于 Navigation Drawer 类中包含的方法的所有文档,但我找不到任何东西来实现这一点。

为了澄清,该项目完全是在 Java 中,所以我可能不会理解 Kotlin 中的任何答案。但是,任何帮助表示赞赏!提前感谢您提供任何人都可以提供的任何信息。

【问题讨论】:

    标签: java android colors navigation-drawer


    【解决方案1】:

    我知道是 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"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 2018-12-18
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      相关资源
      最近更新 更多