在我的Android蜂窩應用程序中,我使用Tabs作爲導航樣式。我想在溢出按鈕旁邊添加一個項目,但我希望該項目是一個下拉列表,用戶將能夠在那裏選擇一個選項,但與導航無關。自從我使用以來最簡單的方法是什麼mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
如何在操作欄上添加下拉項目
是否可以在不使用自定義視圖的情況下執行此操作?
在我的Android蜂窩應用程序中,我使用Tabs作爲導航樣式。我想在溢出按鈕旁邊添加一個項目,但我希望該項目是一個下拉列表,用戶將能夠在那裏選擇一個選項,但與導航無關。自從我使用以來最簡單的方法是什麼mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
如何在操作欄上添加下拉項目
是否可以在不使用自定義視圖的情況下執行此操作?
第一種選擇:
菜單/ options.xml:
<item
android:icon="@drawable/ic_menu_sort"
android:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/menuSortNewest"
android:title="Sort by newest" />
<item
android:id="@+id/menuSortRating"
android:title="Sort by rating" />
</menu>
</item>
第二個選項:
菜單/ options.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menuSort"
android:showAsAction="ifRoom"
android:actionLayout="@layout/action_sort" />
</menu>
佈局/ action_sort.xml:
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_menu_refresh"
android:entries="@array/order" />
文檔菜單資源 - http://developer.android.com/guide/topics/resources/menu-resource.html
絕對最好的,我發現迄今最簡單的答案是here。
基本上,在這種情況下不需要自定義佈局。只需設置actonViewClass:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/spinner"
yourapp:showAsAction="ifRoom"
yourapp:actionViewClass="android.widget.Spinner" /> <== this is all that's required
</menu>
再處理它在onCreateOptionsMenu,像往常一樣:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_layout, menu);
MenuItem item = menu.findItem(R.id.spinner);
Spinner spinner = (Spinner) MenuItemCompat.getActionView(item); // get the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(onItemSelectedListener);
這是迄今爲止最簡單和乾淨的解決方案。原作者FrançoisPoyer的致謝。
經過測試和認可。 –
這將作爲下拉只有
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--<item-->
<!--android:id="@+id/save_contact"-->
<!--android:icon="@drawable/edit_new"-->
<!--android:title="Save Contact"-->
<!--app:showAsAction="never" />-->
<item
android:id="@+id/send_money"
android:icon="@drawable/edit_new"
android:title="Send Money"
app:showAsAction="never" />
<item
android:id="@+id/request_money"
android:icon="@drawable/edit_new"
android:title="Request money"
app:showAsAction="never" />
<item
android:id="@+id/recharge"
android:icon="@drawable/edit_new"
android:title="Recharge"
app:showAsAction="never" />
</menu>
內片段
setHasOptionsMenu(真)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.chat_details_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
檢查4鏈接:這些鏈接幫助您的http://fizzylogic.azurewebsites .net/2012/03/05/mono-for-android-by-action-bar/https://github.com/StylingAndroid/StylingActionBar https://github.com/StylingAndroid/BasicActionBar – Kumar