Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中应用材质主题?_Android_Material Design - Fatal编程技术网

如何在Android中应用材质主题?

如何在Android中应用材质主题?,android,material-design,Android,Material Design,所以我尝试将材质主题应用到新创建的应用程序。根据android文档: “要在Android应用程序中使用材质设计,请遵循材质设计规范中描述的指导原则,并使用Android 5.0(API级别21)中提供的新组件和功能。” 我所做的是创建一个新项目: 明斯克版本23 targetSdkVersion 25 然后我进入styles.xml并将样式更改为: <style name="AppTheme" parent="@android:style/Theme.Material"> 然

所以我尝试将材质主题应用到新创建的应用程序。根据android文档:

“要在Android应用程序中使用材质设计,请遵循材质设计规范中描述的指导原则,并使用Android 5.0(API级别21)中提供的新组件和功能。”

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

明斯克版本23 targetSdkVersion 25

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

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

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

Nexus5/api 25

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

我不明白为什么?我还没有达到要求的条件吗?根据文档,我的最低目标sdk是正确的,我正在构建的设备也有正确的sdk


我缺少什么?

您使用的是
AppCompatActivity
而不是框架
活动

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

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

对于使用材质主题,请将您的
main活动
(或应用主题的
活动
)作为
活动
的子类,而不是
appcompativity
ActionBarActivity
。 你也应该检查一下