- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
TL,博士; ContextCompat.getColor()
不使用夜间颜色(values-night/colors.xml
),但在启用夜间模式时应该使用。
这是问题:
大家好,
所以我正在为我的 Android 应用程序实现一个深色主题,我称之为启用它:AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
我在 values/colors.xml
中设置了颜色在 values-night/colors.xml
中有深色版本.颜色根据 nightMode 变化很好,但是:
当我使用 ContextCompat.getColor(getApplicationContext(), R.id.myColor)
,它使用普通颜色( values/colors.xml
)而不是夜间颜色( values-night/colors.xml
)。
在我的 build.gradle
,我已经设置了这些:
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0-beta01'
最佳答案
我在夜间模式遇到了类似的问题。有些屏幕很好,但其他屏幕保持常规主题。最后,我发现我正在使用应用程序的上下文而不是当前的 Activity 上下文来实例化一些 View 。出于某种原因,应用程序的上下文不会跟踪此类信息。
因此,更新您的代码以使用当前的 Activity 上下文而不是应用程序上下文。
供其他用户引用。避免:
ContextCompat.getColor(getApplicationContext(), R.id.myColor)
并使用:
// In a Activity
ContextCompat.getColor(this, R.id.myColor)
// In a View
ContextCompat.getColor(getContext(), R.id.myColor)
// In a Fragment (check against null because getContext can trigger a NPE
Context context = getContext()
if (context != null) {
ContextCompat.getColor(context, R.id.myColor)
}
关于android - ContextCompat.getColor() 忽略 NightMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58323212/
我有一个模型,其中一位设置者期望得到 Color Resource但在未解析资源的情况下无法直接使用该资源(通过使用 ContextCompat )。 有没有办法可以注释我的方法来指示/限制这一点?
代码: backgroundColor = typedArray.getColor(R.styleable.TapBarMenu_tbm_backgroundColor, ContextCompat.
我根据另一篇文章在 setOnClickListener 中使用它 here 像这样: start.setOnClickListener(new View.OnClickListener() {
我目前正在使用 ContextCompat.getColor,但它没有获取正确的颜色。当应用程序遵守夜间资源限定符时,ContextCompat 从 values/colors.xml 而不是 val
当我为 SlidingTabLayout 对象设置颜色时出现错误。这是我的 mainActivity,首先我发现 getResource.getColor 已被弃用。所以我使用了 contextCom
目前我有以下方法来检查 Marshmallow 的 AppCompatActivity 中的运行时权限: if(Build.VERSION.SDK_INT > Build.VERSION_CODES.
我正在尝试用 ContextCompat.GetColor 替换 Resources.GetColor,但最后一个不返回颜色,我不知道我应该使用什么来代替 Resources.GetColor(从 A
我想知道什么时候在应用程序中使用 ContextCompact 类。基本上它的用途是什么以及何时使用它?我读过开发者网站,它说 ContextCompact 是“访问 Context 中的功能的助手”
我正在为我的 Android 应用开发夜间模式。我正在使用 ContextCompat.getColor 以编程方式为某些 UI 元素获取颜色,但是这种方法无法获取正确的颜色。当应用程序处于夜间模式时
我正在尝试使运行时权限向后兼容旧设备,但使用支持库我无法在 ContextCompat 类中找到 checkSelfPermission() 静态调用,但其记录为 here 这是我的项目 gradle
在我的 android 应用程序(minSdkVersion 15)中,我必须创建目录并将文件写入其中。在我的 AppManifest 中,我正在使用: 在创建目录或文件之前,我正在检查是否允许或
TL,博士; ContextCompat.getColor()不使用夜间颜色(values-night/colors.xml),但在启用夜间模式时应该使用。 这是问题: 大家好, 所以我正在为我的 A
我正在使用 Google Vision OCR 从名片(OCR 图形 Activity )中获取电子邮件,并将其发送到 SendEmail Activity 中的“收件人”目的地。我的日志显示已检测到
这是一段代码,用于请求访问设备中精确位置的权限。 if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_
一切正常,但在 Android Studio 中显示以下错误 代码运行但无法获得函数、类等的建议 谢谢 最佳答案 我遇到了与您完全相同的问题...升级到 3.1.2/3 并变得一团糟。 尝试以下方法从
更新 Android Studio 后,我发现我的项目中有一些红色行。 我有什么。 我调用这个方法: if (Build.VERSION.SDK_INT < 21) { orangeProgr
在 Android M 中,我看到 getColor(int id) 被替换为 ContextCompat.getColor(Context context, int id)。 我刚开始接触 Andr
嗨,我在 Eclipse 中有一个旧项目,当我尝试像这样检查SelfPermission时: ContextCompat.checkSelfPermission(this, Manifest.per
ContextCompat.getExternalFilesDirs(context, null)说: Returns absolute paths to application-specific d
我正在尝试检查 Android Marshmallow 中用户授予/撤销的权限。不幸的是,ContextCompat.checkSelfPermission()(它是 Context.checkCal
我是一名优秀的程序员,十分优秀!