2014-03-13 57 views
1

我知道兩種顯示操作欄圖標的方法。我的最小sdk是14,目標sdk 19.我正在用android 4.2進行調試。如何將動作欄圖標自動移動到溢出圖標?

首先一個

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/mPre" 
     android:icon="@drawable/ic_action_previous_item" 
     android:showAsAction="always" 
     android:title="Previous"/> 
    <item 
     android:id="@+id/mNext" 
     android:icon="@drawable/ic_action_next_item" 
     android:showAsAction="ifRoom" 
     android:title="Next"/> 
    <item 
     android:id="@+id/mShare" 
     android:icon="@drawable/ic_action_share" 
     android:showAsAction="ifRoom" 
     android:title="Share"/> 
    <item 
     android:id="@+id/mFb" 
     android:icon="@drawable/fb" 
     android:showAsAction="ifRoom" 
     android:title="Facebook"/> 
    <item 
     android:id="@+id/mhelp" 
     android:icon="@drawable/ic_action_help" 
     android:showAsAction="ifRoom" 
     android:title="Help"/> 

</menu> 

這將動態顯示圖標(2或3作爲考慮操作欄的空間)。但問題是,這並不是在溢出圖標中顯示額外的菜單。當我觸摸我的手機菜單欄時,會出現額外的菜單,但我想要溢出圖標中的額外菜單。

解決我的第二個代碼。

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/mPre" 
     android:icon="@drawable/ic_action_previous_item" 
     android:showAsAction="always" 
     android:title="Previous"/> 
    <item 
     android:id="@+id/mNext" 
     android:icon="@drawable/ic_action_next_item" 
     android:showAsAction="always" 
     android:title="Next"/> 
    <item 
     android:id="@+id/mMore" 
     android:icon="@drawable/ic_action_overflow" 
     android:showAsAction="always" 
     android:title="More"> 
     <menu> 
      <item 
       android:id="@+id/mShare" 
       android:icon="@drawable/ic_action_share" 
       android:showAsAction="ifRoom" 
       android:title="Share"/> 
      <item 
       android:id="@+id/mFb" 
       android:icon="@drawable/fb" 
       android:showAsAction="never" 
       android:title="Facebook"/> 
      <item 
       android:id="@+id/mhelp" 
       android:icon="@drawable/ic_action_help" 
       android:showAsAction="never" 
       android:title="Help"/> 
     </menu> 
    </item> 

</menu> 

這段代碼的問題不是真的動態的。我總是在這裏顯示兩個圖標,並將其他圖標放在溢出圖標中,這個溢出圖標並不是真正的溢出圖標。

現在我想要什麼? 我想要如果我有五個菜單儘可能多的菜單將顯示在操作欄中,其餘的圖標自動存儲在溢出圖標。

我希望你們能夠解決我的問題。請幫幫我。提前致謝。

+0

你是說你想讓溢出菜單圖標出現在具有菜單鍵的手機上的操作欄上嗎?據我所知,這是不可能的。 – casolorz

回答

0

我認爲你需要使用這個

android:showAsAction="ifRoom|withText" 

參數showAsAction決定在上述圖標是顯示

參閱本linkdocumentation

+1

我在第一個代碼中使用了ifRoom。但問題是我的溢出圖標本身在哪裏。 @thenoob – Xplosive

0

如果我理解正確的話,你想要操作欄圖標始終顯示在溢出?如果是這種情況,你可以嘗試以下方法:

<item 
     android:id="@+id/action_settings" 
     android:title="Test" 
     app:showAsAction="never" />