我的大脑即将吹响Android的主题和样式。有人,请帮帮我!
我尝试为我的应用创建主题,以便尽可能提供与前后Lollipop 设备相似的外观。所以,我从Theme.AppCompat.NoActionBar
继承了我的主题,我AppCompatActivity
的活动设置了colorPrimary
,colorPrimaryDark
和colorAccent
。一切顺利。当我尝试设置背景和文本颜色时,问题就出现了。我设置了android:textColorPrimary
和android:textColorSecondary
并获得了我想要的Lollipop设备,但没有设置在KitKat上,所以我添加了textColorPrimary
和textColorSecondary
属性到主题,之后 Android Studio 表示它无法构建应用,因为无法找到这些属性。我尝试添加colorBackground
时也是如此。我曾试图谷歌,但无法找到有关哪些属性由哪个主题提供的有用信息,以及我应该在我的情况下使用什么。
答案 0 :(得分:2)
您必须为棒棒糖值-v21 创建两个值文件夹,为棒棒糖前创建简单的值
对于棒棒糖前设备,请参阅此样式,只需将其粘贴到 values / styles.xml
<强> Styles.xml 强>
<resources>
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">
</style>
<style name="MyMaterialTheme.TransparentActivity">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
</style>
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorPrimary">@color/textColorPrimary</item>
<item name="android:windowBackground">@color/windowBackground</item>
</style>
</resources>
答案 1 :(得分:1)
如果你想为不同的api设置应用程序样式,你必须为文件夹名称value-v(sdk版本)为例如lollipop的值-v21,kitkat的值-v19,...但在这种情况下我认为你只需要创造价值-v21。
在该文件夹中,创建一个xml文件style.xml并根据api使用相应的属性。