android中的自定义主题和颜色

时间:2016-04-19 12:05:26

标签: android colors styles themes

我可以为两个不同的主题定义两个完全不同的colors.xml吗?例如在我的情况下,我们在pallette中使用更多不同的颜色,在主题中由standart定义(android:colorPrimary,android:colorAccent,android:colorBackground等)。希望,我的问题很明确。如果不是,请在评论中问我。

1 个答案:

答案 0 :(得分:2)

好的,在搜索了一下之后我找到了这样的解决方案。 Designer不想使用colorPrimary等,所以我在attrs中添加我的自定义属性,如下所示:

<attr name="colorExperiment" format="color"/>

在此之后,我在主题样式中添加此attr,如下所示:

 <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"
 />