57

有没有办法将一些操作项指定到拆分操作栏的顶部,而其他操作项则到底部?或者是全有还是全无,所有的行动项目都只进入拆分的底部?

在此处输入图像描述

4

5 回答 5

26

目前这是不可能的。

在 Android 开发者办公时间直接查看 Android 开发者 Reto Meier 和 Roman Nurik 的回复:http://youtu.be/pBmRCBP56-Q?t= 55m50s

于 2011-12-22T20:05:24.083 回答
17

为了解决这个问题,我使用了一个自定义视图作为我的操作栏:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

    View view = View.inflate(getApplicationContext(), R.layout.actionbar,
            null);
    actionBar.setCustomView(view);

}

然后对于底部栏,我夸大了我的菜单视图或您想在底部显示的任何内容:

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.browser_main, menu);
    RelativeLayout relativeLayout = (RelativeLayout) menu.findItem(
            R.id.layout_item).getActionView();

    View inflatedView = getLayoutInflater().inflate(
            R.layout.media_bottombar, null);

    relativeLayout.addView(inflatedView);

    return true;
}

在 Android Manifest 中,我还包括 (android:uiOptions="splitActionBarWhenNarrow") 像这样:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:uiOptions="splitActionBarWhenNarrow" > ....
于 2012-12-05T05:37:15.060 回答
14

我通过使用 CustomView 并将应显示在顶部的菜单项添加到此视图来解决此问题。

于 2011-12-21T08:47:35.063 回答
1

疑。但是,在操作栏中创建菜单项以进行试验时,您可以将这些组合在一起。

MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM
于 2011-12-21T01:30:00.877 回答
1

如果激活此选项,Android 可以选择拆分操作栏。是否拆分由系统在运行时决定

如果没有足够的可用空间,您可以定义操作栏应由系统自动拆分,您可以通过 AndroidManifest.xml 文件中应用程序活动声明中的 android:uiOptions="SplitActionBarWhenNarrow" 参数激活此功能。

于 2015-02-03T07:09:25.047 回答