上周我一直在玩 Honeycomb,很难在 Action Bar 中找到关于多个下拉列表的内容。我已经使用了本教程并成功地向其中添加了一个下拉列表。但我不知道如何添加另一个。如果你知道怎么做,请告诉我。谢谢。
PS 还有一点,我怎样才能改变动作栏中元素的位置(这是题外话)?
上周我一直在玩 Honeycomb,很难在 Action Bar 中找到关于多个下拉列表的内容。我已经使用了本教程并成功地向其中添加了一个下拉列表。但我不知道如何添加另一个。如果你知道怎么做,请告诉我。谢谢。
PS 还有一点,我怎样才能改变动作栏中元素的位置(这是题外话)?
不确定 Honeycomb,但我能够在 JellyBean 的操作栏中添加两个下拉列表,而无需使用自定义视图。
res/menu/main_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_main_spinner"
android:actionViewClass="android.widget.Spinner"
android:showAsAction="always"/>
<item
android:id="@+id/menu_status_spinner"
android:actionViewClass="android.widget.Spinner"
android:showAsAction="always"/>
</menu>
我的活动.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate( R.menu.main_menu, menu );
MenuItem mainMenuSpinner = menu.findItem( R.id.menu_main_spinner);
setupMainMenuSpinner( mainMenuSpinner );
MenuItem statusSpinner = menu.findItem( R.id.menu_status_spinner );
setupStatusSpinner( statusSpinner );
return super.onCreateOptionsMenu(menu);
}
private void setupMainMenuSpinner(MenuItem item) {
View view = item.getActionView();
if (view instanceof Spinner) {
Spinner spinner = (Spinner) view;
spinner.setAdapter(ArrayAdapter.createFromResource(this,
R.array.main_menu_options,
android.R.layout.simple_spinner_dropdown_item));
}
}
private void setupStatusSpinner(MenuItem item) {
View view = item.getActionView();
if (view instanceof Spinner) {
Spinner spinner = (Spinner) view;
spinner.setAdapter(ArrayAdapter.createFromResource(this,
R.array.status,
android.R.layout.simple_spinner_dropdown_item));
}
}
你必须自己做。而不是setNavigationMode()
,使用setCustomView()
.
PS 还有一点,我怎样才能改变动作栏中元素的位置(这是题外话)?
一般来说,你不能。您可以控制顺序(例如,工具栏按钮通过它们在您的选项菜单 XML 中的顺序)。差不多就是这样。