ActionBar pre Honeycomb

rab*_*itt 13 android onstart android-version android-actionbar

我正在为android(2.1> 3.1)编写一个应用程序,我想使用熟悉的做法,在Honeycomb应用程序中使用应用程序图标进行家庭活动,但是,当我在早期的非Honeycomb设备上运行活动时Activity.getActionBar(); 方法尚不存在,app force关闭,如果设备运行蜂窝,我怎么才能运行这个指定的代码?

@Override
protected void onStart() {
    super.onStart();
    ActionBar actionBar = this.getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,祝您度过愉快的一天.

Jak*_*ton 68

我已经为Android编写了一个库,它将使用操作栏设计模式的自定义实现自动包装3.0之前的活动.然后getSupportActionBar(),您可以调用哪个将为本机和自定义实现提供通用接口,具体取决于运行您的应用程序的Android版本.

该库还允许您通过单个主题将自定义样式应用于这两个操作栏.

您可以在actionbarsherlock.com上找到更多信息以及示例应用程序的屏幕截图.

该库是100%开源的,可从github.com/JakeWharton/ActionBarSherlock获得.


Gre*_*ory 13

Android pre-Honeycomb没有ActionBar,因此任何关于actionBar的方法都会失败.您应该查看Google IO应用程序中的代码,该应用程序使用HoneyB和Honeycomb之前的ActionBar.

简而言之,它本身不起作用,你必须包含自己的ActionBar代码.