Android 8中的API 8-10中的ActionBar

时间:2015-01-02 16:02:27

标签: android api android-actionbar

我想在API级别8-10中使用ActionBar。我搜索解决方案并找出2个链接,但它们对我没有用。有人有相同的经验吗?谢谢!

这是我的代码:

 ActionBar actionBar =getActionBar();
    assert actionBar != null;
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#e32238")));

link1 link2

当我运行项目时,会显示以下错误: enter image description here

2 个答案:

答案 0 :(得分:1)

ActionBar在Android 3.0(API级别11)中添加,但您可以使用Spport Library在更早的API 11中使用它。要为Action Bar使用支持库,您的活动应该扩展ActionBarActivity。

要自定义操作栏颜色,可以在styles.xml文件中设置操作栏样式,例如:

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

</style>


<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
    <!-- for before API 11 -->
    <item name="background">@color/your_color</item>
    <!-- for after API 11 -->
    <item name="android:background">@color/bg_blue</item>
</style>

希望这有帮助!

[<强>更新

要使用AppCompat主题,您必须从支持库V7将AppCompat库导入您的项目:your-android-sdk \ platforms \ extras \ android \ support \ v7 \ appcompat

答案 1 :(得分:1)

在我的一个项目中,我使用了ActionBarSherlock

  1. 下载abs here

  2. 假设您正在使用Eclipse IDE,请右键单击您的项目,单击属性,然后单击android。在底部,在布局中,添加abs。

  3. 确保abs和您的项目位于同一目录中。

  4. 将您的课程扩展为Sherlock命名。例如,将其更改为Sherlock Activity,而不是Activity。 abs的主要文档是here

  5. 为了更容易使用Sherlock,请在更改Sherlock名称并修改它时创建util方法。

  6. Here是示例代码。