关于引用Theme.AppCompat theme的报错问题
- Chapter: 使用support-v7 ActionBar前的那些坑
当 v7 库项目搭建好了,并且别的项目也引用了,你觉得应该没什么错误,但是运行报错了,大概报这样的错:
1 | java.lang.RuntimeException: Unable to start activity ComponentInfo{jh.com.testandroidlayout/jh.com.testandroidlayout.navigator.NaviViewPagerActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. |
You need to use a Theme.AppCompat theme (or descendant) with this activity.
这错误很明显,也很简单,原来继承自ActionBarActivity的类必须指定固定的集中Theme风格,而这些Theme风格是需要导入V7中的appcompat LIB库工程,编译后再引用才能引用使用。
打开你项目的AndroidManifest.xml,找到android:theme="@style/xxx",改成v7包里提供的方案就行了。比如:
1 | android:theme= "@style/Theme.AppCompat" 黑色系 |
2 | android:theme= "@style/Theme.AppCompat.Light" 浅色系 |
更多色彩方案可以自己在Application Tab页去Browse。
stackoverflow 上有更详尽的讨论:http://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat-theme-or-descendant-with-this-activity