我正在为一个通过wifi /蓝牙远程控制另一个设备的应用程序做一个android 4+布局。我正在尝试使用操作栏,因为它可以使用。
在这个应用程序的情况下,我希望有一个选择器,为远程设备选择基本的系统操作模式。在它的右侧,我想要一个“编辑设置”按钮。因此用户可以选择一种操作模式,也可以编辑所选的操作模式。我想要选择器旁边的编辑按钮,因为将它们分组是有意义的。这两个动作表达了人们通常在应用程序中使用的大部分功能。
我正在使用Android活动的默认示例代码,因为向导在我的项目中插入了“new> other> android activity”,它有一个已经设置并正常工作的选择器。
问题是,选择器放在操作栏的最左侧,所有其他操作项从右侧开始并向左移动。我似乎无法立即将“编辑”操作项的位置锁定在插入的选择器的右侧。
菜单XML中的项目如下所示:
<item android:id="@+id/edit_configuration"
android:title="Edit"
android:orderInCategory="2"
android:layout_gravity="left"
android:showAsAction="always" />
<item android:id="@+id/menu_settings"
android:title="@string/menu_settings"
android:orderInCategory="100"
android:showAsAction="never" />
需要使用onCreate中的代码为活动类插入选择器。
// Set up the action bar.
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
// Set up the dropdown list navigation in the action bar.
actionBar.setListNavigationCallbacks(
// Specify a SpinnerAdapter to populate the dropdown list.
new ArrayAdapter(
actionBar.getThemedContext(),
android.R.layout.simple_list_item_1,
android.R.id.text1,
new String[]{
getString(R.string.title_section1),
getString(R.string.title_section2),
getString(R.string.title_section3),
}),
this);
我在菜单XML中尝试了标准的layoutGravity属性,但是虽然它没有导致错误,但它也没有做任何我能看到的事情。
如果有人知道如何将我的编辑按钮附加到选择器的右边,我会很高兴听到如何完成它。
答案 0 :(得分:2)
系统控制动作项的位置,以提供所有应用程序的通用外观;换句话说,没有办法实现这一点(除非别人不知道)。或许,您可以扩展操作栏,或以某种方式重写它以允许重新定位操作项,但这超出了我的技能。
答案 1 :(得分:0)
从oncreateoptionsmenu中的两个菜单xml文件中膨胀。文件最后膨胀将位于最右侧。
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_one, menu);
inflater.inflate(R.menu.menu_two, menu);
menu_two的项目将位于最右侧。