Material 主题未在 21 岁之前的设备上正确应用

Material theme not applied correctly on pre-21 devices

我知道要为 API-21 之前的设备正确使用某些 Material 主题设计模式,我必须包含两个样式文件夹。

主题在我的 Nexus 5 (lolipop) 设备上正确应用,但是当我 运行 我的应用程序在 API-21 之前的设备上时(我使用的是三星 Galaxy Note, API-16),我得到一个空白的黑色屏幕。该应用程序可以正常工作,因为我可以与 activity 进行交互(按下按钮、使用键盘等),但我什么也看不到。

这是我的 res/values-v21/themes.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="Theme.MyTheme" parent="AppTheme">

    <item name="colorPrimary">@color/green</item>
    <item name="colorPrimaryDark">@color/darkgreen</item>

</style>

</resources>

这是我的 res/values/themes.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">

</style>
</resources>

并且我已将此行包含在我的清单文件中 <application>:

    android:theme="@style/Theme.MyTheme" 

难道我不应该为棒棒糖之前的设备使用 AppCompat 主题吗?我正在使用 v7 支持库。

感谢任何帮助。

将您的 res/values/themes.xml 更改为:

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/green</item>
    <item name="colorPrimaryDark">@color/darkgreen</item>
</style>

然后从 res/values-v21/themes.xml

中删除相同的主题 (name="Theme.MyTheme")