希望在api级别11之后才运行向上按钮



我想要向上按钮仅在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

相关内容

  • 没有找到相关文章

最新更新