4

我有一个带有自定义布局视图和样式的自定义 android 操作栏。我需要为我的导航抽屉显示“Home As Up”按钮。问题是该按钮未以我的自定义布局样式显示。我需要 android 默认主页作为向上图标,以便我可以有一个默认的导航抽屉图标。(具有导航抽屉打开和关闭动画的图标)。

现在我试着做

getActionBar().setDisplayHomeUpAsEnabled(true);

getActionBar().setHomeButtonEnabled(true)

但是home键没有出现。谁能告诉我如何在自定义操作栏上实现默认主页按钮?

4

2 回答 2

7

对我来说,这可以显示向上导航。我仍在研究如何实际实现向上导航。

getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);

看来您可以像这样使用便利功能来处理:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            Intent intent;
            intent = NavUtils.getParentActivityIntent(this);
            NavUtils.navigateUpTo(this, intent);
            return true;
    }
    return super.onOptionsItemSelected(item);
}

要处理自定义部分中的按钮,您可以在布局中添加 onClick 并实现指定的功能。

于 2013-12-05T21:23:40.607 回答
0

老问题,但这是我用过的......

...
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);
getActionBar().setDisplayHomeAsUpEnabled(true);
...

然后在 AndroidManifest.xml 中:

<activity
    ...
    android:parentActivityName="com.example.app.MainActivity"
  <meta-data
      android:name="android.support.PARENT_ACTIVITY"
      android:value="com.example.app.MainActivity">
  </meta-data>
</activity>

如果使用 ActionBarSherlock 或 AppCompat,元数据值适用于 Android 4.0 及以下版本,但对于 4.1 及以上版本,只需将 android:parentActivityName 添加到清单中的活动声明中。

这使我可以在自定义操作栏布局时使用向上导航(显示按钮并实际向上导航)。

希望这对您或将来的其他人有所帮助。

于 2014-05-18T21:36:58.907 回答