【发布时间】:2011-12-20 06:50:27
【问题描述】:
有没有办法将一些操作项指定到拆分操作栏的顶部,而其他操作项则到底部?或者是全部还是全部,所有操作项都只进入拆分的底部?
【问题讨论】:
标签: android android-actionbar android-menu
有没有办法将一些操作项指定到拆分操作栏的顶部,而其他操作项则到底部?或者是全部还是全部,所有操作项都只进入拆分的底部?
【问题讨论】:
标签: android android-actionbar android-menu
目前这是不可能的。
在 Android 开发者办公时间内直接查看 Android 开发者 Reto Meier 和 Roman Nurik 的回复: http://youtu.be/pBmRCBP56-Q?t=55m50s
【讨论】:
为了解决这个问题,我使用自定义视图作为操作栏:
@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" > ....
【讨论】:
我通过使用 CustomView 并将应显示在顶部的菜单项添加到此视图来解决此问题。
【讨论】:
怀疑。但是,当您在操作栏中创建菜单项以进行试验时,您可以看到这些组合。
MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM
【讨论】:
如果激活此选项,Android 可以选择拆分操作栏。是否拆分由系统在运行时决定
您可以定义如果没有足够的可用空间,操作栏应由系统自动拆分 您可以通过 android:uiOptions="SplitActionBarWhenNarrow" AndroidManifest.xml 中应用程序活动声明中的参数 文件。
【讨论】: