【问题标题】:Programmatically enable/disable Night Light in Android Application [duplicate]在 Android 应用程序中以编程方式启用/禁用夜灯 [重复]
【发布时间】:2020-07-16 16:07:36
【问题描述】:

我目前正在开发基于 CMS 的 Android 应用程序,以允许学生使用他们的 Android 设备学习和准备考试。然而,长时间暴露在蓝光下会对他们的眼睛产生不利影响。有没有办法在应用程序在 android 设备中使用时以编程方式启用夜灯,并在应用程序关闭时恢复正常设置?

【问题讨论】:

  • 你的问题没有组织好,比如为什么你想在应用程序不使用时关闭它?
  • 这能回答你的问题吗? How to enable night mode programmatically?
  • 我需要夜灯功能,而不是夜间模式。我的应用在某些地方使用 android webview,这使得夜间模式对我来说毫无用处..

标签: android


【解决方案1】:

第一个选项 您可以使用材质主题来执行此操作。

implementation 'com.google.android.material:material:1.1.0'

如果您希望您的应用遵循系统设置,可以转到 styles.xml 并将主题更改为

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">

第二个选项 如果你想切换夜间模式和白天模式,那么你可以在 setContentView(your_layout) 之前执行此操作以打开...

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);

为了关闭..

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);

【讨论】:

  • 我在我的 android 应用程序中使用 webview。 AppCompatDelegate.MODE_NIGHT_YES 不适用于 web 视图。我需要在使用应用程序期间在设备中激活夜灯功能..
  • 能否给任何使用夜灯的应用名称,以便我更好地理解夜灯的概念。
  • 如果它回答了你的问题,试试这个source.android.com/devices/tech/display/night-light
  • 你能告诉我如何在我的代码中实现这个文档吗?
  • 我找不到任何适用于此的 API ...
猜你喜欢
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2013-03-03
相关资源
最近更新 更多