什么是Android中的AppCompat主题?

时间:2013-11-21 14:43:00

标签: android android-appcompat

我刚开始使用Android开发,所以请耐心等待。我已经下载了Android Studio,当我开始一个新项目时,它会有一个名为Theme.AppCompat.Light的主题(甚至很难我在创建新项目时选择了Holo Light)。所以我的问题是,为什么android使用这个以及它有用的是什么?我已经尝试将其更改为android:Theme.Holo.Light,但它只是给了我一个错误:     java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或后代)。

我正在使用此SDK配置:     机器人:的minSdkVersion = “7”     机器人:targetSdkVersion = “18”

所以我的问题是,你为什么要使用AppCompat,以及如何让我的应用程序使用Holo主题。

我的活动类只是生成的默认类(它扩展了ActionBarActivity)。

4 个答案:

答案 0 :(得分:3)

Holo主题是在API级别14中引入的。

将您的android:minSdkVersion="7"更改为android:minSdkVersion="14"

如果您想至少保留7,请使用此项目获取Holo主题:HoloEverywhere

答案 1 :(得分:2)

那是因为您使用的SDK 7(Android 2.1)对Holo一无所知。 Android Team提供的兼容性主题看起来(几乎)像Holo。

在侧节点上,你应该至少切换到SKD 10,它会让你的生活更轻松。

答案 2 :(得分:1)

看到ActionBar是在API 11中引入的,因此在向后兼容谷歌后发布了支持库。您可以在此处阅读Android Support Library,此处您还可以在应用中找到如何使用它们。不仅适用于操作栏Google还提供支持库,以便向后兼容新设备上的许多新功能,并使其适用于较旧的设备设备。

答案 3 :(得分:0)

创建项目时的默认活动继承自min api 15级或更高级别的 ActionBarActivity ,我将其更改为“活动”,现在我的活动继承自活动。现在我可以改为Holo或其他主题。我想从ActionBarActivity继承需要appcompat主题。