获取 Android 系统强调色(Android 10 系统强调色)
Get Android system accent color (Android 10 System color accent)
这个问题应该很简单,但我没有找到答案。我有一个带有 select 可用口音的应用程序,我正在尝试添加一个选项以使用 android 系统口音(像 Lawnchair 这样的应用程序有这样的选项)。在系统重音的样式中,我尝试以各种可能的方式获得此重音:
?android:colorAccent
?android:attr/colorAccent
?attr/colorAccent
这是风格:
<style name="AppTheme.systemAccent" parent="AppTheme">
<item name="colorAccent">???</item>
</style>
似乎没有任何效果,应用程序崩溃了,但我确信这是可能的。当我使用普通颜色时,重音 selection 效果很好。我哪里错了?
编辑:为了清楚起见,我正在尝试获取系统强调色,即在设置、通知面板等中使用的系统范围颜色。这种颜色现在 select 可以在 Android 10 中使用,并且以前 select 可以像氧气 OS 一样在 rom 中使用。假设我 select 在我的 Android 10 设备 的设置-> 自定义中有一个红色调。我想在我的应用程序中加入这种红色口音
您可以通过编程方式获取它:
TypedValue typedValue = new TypedValue();
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this,
android.R.style.Theme_DeviceDefault);
contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent,
typedValue, true);
int color = typedValue.data;
澄清一下,我指的是 Android Q 系统颜色重点:
@color/colorAccent
使用它,它是 android 中的默认颜色
或者您可以在 color.xml
中自定义您的颜色
好的。我做了一些深入的研究和反复试验。之后我发现,我可以访问私有 属性 @*android:color/accent_device_default_light
。 但是 如果您将 activity 的父级 class 从 AppCompatActivity
更改为 Activity
,这是可能的,因为 AppCompat 不能使用此私有 属性 设置工具栏。此外,不建议使用私有属性,因为它们将来可能会被删除或更改。
这个问题应该很简单,但我没有找到答案。我有一个带有 select 可用口音的应用程序,我正在尝试添加一个选项以使用 android 系统口音(像 Lawnchair 这样的应用程序有这样的选项)。在系统重音的样式中,我尝试以各种可能的方式获得此重音:
?android:colorAccent
?android:attr/colorAccent
?attr/colorAccent
这是风格:
<style name="AppTheme.systemAccent" parent="AppTheme">
<item name="colorAccent">???</item>
</style>
似乎没有任何效果,应用程序崩溃了,但我确信这是可能的。当我使用普通颜色时,重音 selection 效果很好。我哪里错了?
编辑:为了清楚起见,我正在尝试获取系统强调色,即在设置、通知面板等中使用的系统范围颜色。这种颜色现在 select 可以在 Android 10 中使用,并且以前 select 可以像氧气 OS 一样在 rom 中使用。假设我 select 在我的 Android 10 设备 的设置-> 自定义中有一个红色调。我想在我的应用程序中加入这种红色口音
您可以通过编程方式获取它:
TypedValue typedValue = new TypedValue();
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this,
android.R.style.Theme_DeviceDefault);
contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent,
typedValue, true);
int color = typedValue.data;
澄清一下,我指的是 Android Q 系统颜色重点:
@color/colorAccent 使用它,它是 android 中的默认颜色 或者您可以在 color.xml
中自定义您的颜色好的。我做了一些深入的研究和反复试验。之后我发现,我可以访问私有 属性 @*android:color/accent_device_default_light
。 但是 如果您将 activity 的父级 class 从 AppCompatActivity
更改为 Activity
,这是可能的,因为 AppCompat 不能使用此私有 属性 设置工具栏。此外,不建议使用私有属性,因为它们将来可能会被删除或更改。