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"
)
我知道要为 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"
)