我能否为两个不同的主题定义完全不同的colors.xml?例如,在我的情况下,我们在配色方案中使用了比标准主题(如android:colorPrimary,android:colorAccent,android:colorBackground等)定义的更多的不同颜色。希望我的问题清楚明了。如果不清楚,请在评论中询问。
好的,经过一番搜索,我找到了这样的解决方案。设计师不想使用colorPrimary等属性,所以我在attrs中添加了自定义属性,如下:
<attr name="colorExperiment" format="color"/>
然后,在主题的样式中添加这个属性,如下:
<style name="DarkTheme" parent="AppTheme.NoActionBar">
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowBackground">@color/onyx</item>
<item name="colorExperiment">@color/onyx</item>
</style>
例如,在布局中使用:
<TextView
android:id="@+id/auth_caption"
android:includeFontPadding="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:textSize="34dp"
android:text="@string/auth_caption"
android:textColor="?colorExperiment"
/>