我的大脑即将在 Android 的主题 和样式 上爆炸。有人,请帮助我!
我正在尝试为我的应用程序创建一个主题,以便为pre- and post-Lollipop 设备提供尽可能相似的外观。所以,我从 Theme.AppCompat.NoActionBar
继承了我的主题,从 AppCompatActivity
继承了我的 Activity ,并设置了 colorPrimary
、colorPrimaryDark
和 colorAccent
。一切顺利。当我尝试设置背景和文本颜色的样式时,问题就开始了。我已经设置了 android:textColorPrimary
和 android:textColorSecondary
并且在 Lollipop 设备上得到了我想要的东西,但在 KitKat 上没有,所以我添加了 textColorPrimary
和 textColorSecondary
属性添加到主题,然后 Android Studio 表示无法构建应用程序,因为找不到这些属性。当我尝试添加 colorBackground
时也发生了同样的情况。我试图用谷歌搜索它,但未能找到关于哪个主题提供了哪些属性以及我应该在我的情况下使用什么的有用信息。
最佳答案
您必须创建两个值文件夹,一个用于 Lollipop values-v21 ,一个用于 Lollipop 之前的简单 values
看到这种适用于 Lollipop 前设备的样式,只需将其粘贴到 values/styles.xml
样式.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>
关于android - 无法理解如何使用 Theme.AppCompat 为 Lollipop 之前的设备设置 Android 应用程序的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267517/