巴黎的黑暗模式

时间:2019-07-09 16:28:44

标签: android android-styles

我正在尝试在应用程序中实现暗模式。据我所知,最好的解决方案是使用巴黎图书馆。是否有任何简单的解决方案可在应用程序中全局设置暗模式? 我在巴黎github上发现了问题:https://github.com/airbnb/paris/issues/15,但未实现。有什么想法可以设置一次样式,而不在每个视图上使用view.style(R.style.night_style)吗?

2 个答案:

答案 0 :(得分:0)

您应该查看AppCompatDelegate.setDefaultNightMode https://developer.android.com/reference/android/support/v7/app/AppCompatDelegate

您可以传入布尔值(为true或false)以更改整个应用程序的样式,也可以将其留给操作系统来为您完成

答案 1 :(得分:0)

您可以使用不同的主题,例如以下示例:

<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight"></style>

或者,如果您想为应用定义单独的亮色和暗色主题,则可以从values目录中的Theme.MaterialComponents.Light和values-night目录中的Theme.MaterialComponents继承。例如:

res / values / themes.xml

<style name="Theme.MyApp" parent="Theme.MaterialComponents.Light">
    <!-- ... -->
</style>

res / values-night / themes.xml

<style name="Theme.MyApp" parent="Theme.MaterialComponents">
    <!-- ... -->
</style>
  

Theme.MaterialComponents主题是静态的深色主题,而   Theme.MaterialComponents.DayNight是一个更具动态性的主题,它将   帮助您轻松在应用的明暗之间切换   主题。如果使用DayNight主题,则可以定义一个应用主题   引用颜色资源,可以在   值夜目录(如果需要)。

Reference