我只希望 API 级别 11 及更高版本上的向上按钮,但我的程序需要在所有设备上运行。我怎样才能做到这一点?
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
或者
我可以向所有 API 级别添加向上按钮吗?请指教...
我只希望 API 级别 11 及更高版本上的向上按钮,但我的程序需要在所有设备上运行。我怎样才能做到这一点?
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
或者
我可以向所有 API 级别添加向上按钮吗?请指教...
您可以使用以下命令检查设备上安装的 Android 操作系统版本:
int currentAPIVersion = android.os.Build.VERSION.SDK_INT;
if (currentAPIVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {
// RUN THE CODE SPECIFIC TO THE API LEVELS ABOVE HONEYCOMB (API 11+)
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
您必须在应用程序的每个 Activity 部分中运行此检查,并且可能还需要在 API 级别低于 11 时提供替代方案。
然而,对于设备上不同 API 级别的用户而言,用户体验会存在差异。为了解决这个问题,您可以考虑查看ActionBarSherlcock 库,它可以帮助您为您的应用程序带来平等,无论 API 级别(2.x 及更高版本)如何。
更新:
要向 Home Button 添加将返回到上一个的操作Activity
,请覆盖该onOptionsItemSelected()
方法,如下所示。注意android.R.id.home
代码中的使用。如果您有其他菜单项将显示在ActionBar
相同的onOptionsItemSelected()
.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: {
this.finish();
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
你可以使用 ActionBarSherlock - http://actionbarsherlock.com/来满足你的需要
ActionBarSherlock 绝对是你需要的,看看这个http://actionbarsherlock.com