如您所见,Google在Android设置中提供了一种选择系统范围的色彩强调的方法:
我首先认为这不可能在我的应用程序中使用,但是Gboard成功地将其用于主题UI元素,正如我们在此新闻中看到的那样:https ://9to5google.com/2019/05/08/android-q -gboard-accent-color /
然后,我想知道这是一个公共API,还是有一种方法可以从一种或另一种方法获取它。
感谢您的任何想法。
您必须使用Theme.DeviceDefault主题作为与AppCompat世界无关的资源。
我测试了以下代码段,当我在Android Q上更改装饰色时,效果很好:
@ColorInt
fun getDeviceAccentColor(context: Context) : Int {
val value = TypedValue()
val ctx = ContextThemeWrapper(context, android.R.style.Theme_DeviceDefault)
ctx.theme.resolveAttribute(android.R.attr.colorAccent, value, true)
return value.data
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |