我想讓ActionBar在我的應用程序上正常工作(並且我使用ActionBarSherlock在Android 2.x之間獲得統一的UI和4.x)。showAsAction =「ifRoom」即使有足夠的空間也不顯示該項目
我覺得像android:showAsAction="ifRoom"
只是一個大,胖的謊言。每當我設置一個動作到ifRoom
它總是出現在溢出菜單,即使有足夠的空間。以下是來自同一模擬器的兩個屏幕截圖。第一個顯示了所有選項設置爲always
的ActionBar,第二個顯示了ActionBar,後兩個選項設置爲ifRoom
。正如你所看到的,當它們全都顯示在屏幕截圖always
中時,有足夠的空間,那麼爲什麼它們都不在第二個顯示,因爲它們有空間?
這是我menu.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/add"
android:icon="@drawable/ic_menu_btn_add"
android:showAsAction="always"
android:title="Add"/>
<item
android:id="@+id/calculateNPV"
android:icon="@drawable/menu_icon_npv"
android:showAsAction="always"
android:title="NPV"/>
<item
android:id="@+id/calculateIRR"
android:icon="@drawable/menu_icon_irr"
android:showAsAction="always"
android:title="IRR/YR"/>
<item
android:id="@+id/send"
android:icon="@android:drawable/ic_menu_share"
android:showAsAction="always"
android:title="@string/share_pdf"/>
<item
android:id="@+id/graph"
android:icon="@drawable/ic_menu_gallery"
android:showAsAction="ifRoom"
android:title="@string/view_cashflow_diagram"/>
<item
android:id="@+id/deleteReorder"
android:icon="@drawable/ic_menu_clear_playlist"
android:showAsAction="ifRoom"
android:title="@string/delete_reorder_cashflows"/>
</menu>
這並不總是4.見以下圖表:http://developer.android.com/ design/media/action_bar_pattern_table.png –
但是,正如你所看到的那樣,這些行動還有空間,所以-ifRoom-是一個大胖子的謊言。 :)這也令人沮喪,沒有可見的指標,有更多的選項可通過菜單按鈕。向他們展示一些選項,但並非沒有指示器,情況會更糟糕,因爲展示SOME會告訴用戶這是需要查看的位置。爲什麼會有另一個位置? –
@Jake Wharton:是的!我知道我以前看過類似的東西,但我不記得在哪裏。現在我認爲這是在關於ActionBar的動作視頻的谷歌設計之一...謝謝! –