[英]How to have ActionBar like Google Play in pre HoneyComb devices ( > 2.2)?
[英]ActionBar pre Honeycomb
我正在为 android (2.1 > 3.1) 编写一个应用程序,我想使用熟悉的做法,即在 Honeycomb 应用程序中使用应用程序图标到 go 直到家庭活动,但是,当我在早期的非 Honeycomb 设备上运行活动时Activity.getActionBar(); 方法尚不存在,应用程序强制关闭,如果设备正在运行蜂窝,我该如何只运行此指定代码?
@Override
protected void onStart() {
super.onStart();
ActionBar actionBar = this.getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
感谢您的帮助,祝您有美好的一天。
我已经为 Android 编写了一个库,它将自动包装您的 pre-3.0 活动,并使用操作栏设计模式的自定义实现。 然后,您可以调用getSupportActionBar()
,这将为本地和自定义实现提供一个通用接口,具体取决于您的应用程序在哪个版本的 Android 上运行。
该库还允许您通过单个主题将自定义 styles 应用于这两个操作栏。
您可以在actionbarsherlock.com中找到更多信息以及示例应用程序的屏幕截图。
该库是 100% 开源的,可从github.com/JakeWharton/ActionBarSherlock 获得。
Android pre-Honeycomb 没有 ActionBar,因此任何有关 actionBar 的方法都会失败。 您应该查看来自 Google IO 应用程序的代码,该应用程序对 Honeycomb 和 pre-Honeycomb 都使用了 ActionBar。
简而言之,它不会单独工作,您必须包含自己的 ActionBar 代码。
由于预蜂窝上不存在操作栏,您将不得不使用其他东西。 一个建议是使用 johannilssons 操作栏库,该库可以在 github 上找到。 直接链接: https://github.com/johannilsson/android-actionbar
从修订版 18 开始, Android 支持库包含回到 API 级别 7 的 ActionBar 支持。现在这是为所有版本的 ZE84E30B9390CDB64DB6DB22C9AB87846DZ 提供支持的推荐方法
我认为代码是不言自明的
private static int sdkVersion;
static
{
try {
sdkVersion = Integer.parseInt(android.os.Build.VERSION.SDK);
} catch (Exception ex) {
}
}
/** Device support the froyo (Android 2.2) APIs */
public static boolean isAndroid22() {
return sdkVersion >= 8;
}
/** Device support the Gingerbread (Android 2.3) APIs */
public static boolean isAndroid23() {
return sdkVersion >= 9;
}
/** Device supports the Honeycomb (Android 3.0) APIs */
public static boolean isAndroid30() {
return sdkVersion >= 11;
}
我喜欢使用 GreenDroids 操作栏(加上它们包括一些其他漂亮的东西): http://android.cyrilmottier.com/?p=240
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.