我想要向上按钮仅在API级别11和更高,但我的程序需要在所有设备上运行。我该怎么做呢?
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
或
我可以在所有API级别添加up-button吗?请建议…
你可以检查设备上安装的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)。
更新:
要向Home Button添加一个将返回到以前的Activity
的操作,请重写onOptionsItemSelected()
方法,如下所示。注意代码中android.R.id.home
的使用。如果您有额外的菜单项将在相同的onOptionsItemSelected()
中的ActionBar
中显示,则可以向开关块添加额外的case 。
@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