如何在Android中应用Material主题?

时间:2017-02-09 13:30:17

标签: android material-design

所以我试图将材质主题应用于新创建的应用。根据android文档:

"要在Android应用中使用材料设计,请遵循材料设计规范中描述的指南,并使用Android 5.0(API级别21)中提供的新组件和功能。"

我所做的是创建一个新项目:

minSdkVersion 23  targetSdkVersion 25

然后我进入styles.xml并将样式更改为:

<style name="AppTheme" parent="@android:style/Theme.Material">

然后我尝试在具有以下配置的模拟设备上构建:

nexus 5 / api 25。

应用程序崩溃:java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或后代)。

我不明白为什么?避风港满足了所需的条件?根据文档,我的最小目标sdk是正确的,我正在构建的设备也有正确的sdk。

我缺少什么?

2 个答案:

答案 0 :(得分:1)

您使用的是AppCompatActivity而不是框架Activity

因此,您需要使用的主题应该将AppCompat主题作为其父级,例如

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
</style>

答案 1 :(得分:0)

要使用素材主题,请将const validate = (prop) => { // validation etc... // if validation error // return false & request mainFunction() to also return return true; } const taskOne = () => validate(one); const taskTwo = () => validate(two); const mainFunction = () => taskOne() && taskTwo() && taskThree() /* && ... */; mainFunction(); (或您应用主题的MainActivity)作为activity的子类,而不是Activity或{{1} }。 您还应该检查this