Android: 如何在可绘制对象中使用当前主题的颜色xml?
Android: how to use the current theme's colors in a drawable xml?
我定义了两个主题,它们具有不同的原色、深色原色、浅色原色和强调色。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
</style>
<style name="AppTheme2" parent="AppTheme">
<item name="colorPrimary">@color/primary_2</item>
<item name="colorPrimaryDark">@color/primary_dark_2</item>
<item name="colorAccent">@color/accent_2</item>
</style>
AppTheme 是 <application/>
的默认设置
然后我在特定的活动中设置了AppTheme2。
在可绘制文件中 xml 我正在使用 colors.xml
中定义的 AppTheme 的相同原色
这两个主题的许多活动都使用了可绘制对象,所以当有 AppTheme2 时,我会看到不同的颜色。
有没有办法让 drawable 使用当前主题的颜色 activity?
您可以使用此属性从当前使用的主题中获取颜色:
android:color="?colorPrimary"
这仅适用于 android 5.0 或更高版本。
我定义了两个主题,它们具有不同的原色、深色原色、浅色原色和强调色。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
</style>
<style name="AppTheme2" parent="AppTheme">
<item name="colorPrimary">@color/primary_2</item>
<item name="colorPrimaryDark">@color/primary_dark_2</item>
<item name="colorAccent">@color/accent_2</item>
</style>
AppTheme 是 <application/>
的默认设置
然后我在特定的活动中设置了AppTheme2。
在可绘制文件中 xml 我正在使用 colors.xml
中定义的 AppTheme 的相同原色这两个主题的许多活动都使用了可绘制对象,所以当有 AppTheme2 时,我会看到不同的颜色。 有没有办法让 drawable 使用当前主题的颜色 activity?
您可以使用此属性从当前使用的主题中获取颜色:
android:color="?colorPrimary"
这仅适用于 android 5.0 或更高版本。