1

我只希望 API 级别 11 及更高版本上的向上按钮,但我的程序需要在所有设备上运行。我怎样才能做到这一点?

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

或者

我可以向所有 API 级别添加向上按钮吗?请指教...

4

3 回答 3

4

您可以使用以下命令检查设备上安装的 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);
    }
}
于 2013-03-20T08:40:44.850 回答
0

你可以使用 ActionBarSherlock - http://actionbarsherlock.com/来满足你的需要

于 2013-03-20T08:35:59.457 回答
0

ActionBarSherlock 绝对是你需要的,看看这个http://actionbarsherlock.com

于 2013-03-20T08:41:32.230 回答