我正在创建一个应用程序,其中包括对Android Lolipop和早期版本的支持。
基于Maintaining compatibility文档,我计划将ActionBarActivity与AppCompact一起用于非Lolipop设备,将FragmentActivity用于Lolipop设备的材料。
我创建了两个不同的值文件夹。
现在的问题是我应该如何使用
扩展我的Activity类MyActivity extends Activity
或
MyActivity extends ActionBarActivity
如果我使用Activity。它崩溃了早期的Android版本,并说我要添加ActionBarActivity,反之亦然的是lolipop
编辑------
值-21
<style name="AppTheme" parent="android:Theme.Material.Light">
值
<style name="AppTheme" parent="Theme.AppCompat.Light">
答案 0 :(得分:1)
如果您要在低于11的api上使用ActionBar以支持api&gt; = 7签出http://developer.android.com/guide/topics/ui/actionbar.html
,则可以扩展ActionBarActivity此外,它可能会引起混淆,但当您使用ActionBarActivity
时
您的主题必须是Theme.AppCompact
后代之一的孩子,例如
<style name="MyTheme" parent="Theme.AppCompact">
<item name="android:colorPrimary">@color/accent_1</item>
<item name="android:colorPrimaryDark">@color/accent_dark</item>
<item name="android:colorAccent">#f00</item>
<item name="colorPrimary">@color/accent_1</item>
<item name="colorPrimaryDark">@color/accent_dark</item>
<item name="colorAccent">#f00</item>
</style>
非加前缀android:
提供您为< API 21 (Lollipop)
答案 1 :(得分:0)
扩展ActionBarActivity
并使用Theme.AppCompat
- 所以你的风格主题将只是这个值 - 21
<style name="AppTheme" parent="Theme.AppCompat">
值
<style name="AppTheme" parent="Theme.AppCompat">
尝试这个,让我知道它是否有效
注1:我没有尝试过,而且我从各种各样的想法中发现了这个想法
PS;是的,我已阅读文档..