2015-11-18 37 views
6

Menu items with title and icon when showAsAction is neverAndroid的菜單項時showAsAction從來都不是

您好,我怎樣才能讓我的菜單項都有圖標,以及當showAsAction是永遠?

+0

爲什麼你讓showAsAction永遠等於?如果你想用圖標顯示菜單項,showAsAction的值必須是withText.'android:showAsAction =「withText」' –

+0

因爲,那是我希望它們出現的方式。我不希望菜單項出現在ActionBar中,而是出現在菜單中。當showAsAction從不,只顯示文本,但我希望圖標也出現,就像圖片中的圖標一樣。 – Elnoor

+0

有一些工作。 我希望[this](http://stackoverflow.com/questions/15454995/popupmenu-with-icons)會幫助你。 –

回答

0

在createOptionsMenu中,將圖標和文本設置爲MenuItem。

詳細闡述問題。

+0

它仍然不顯示圖標。 @TheAndroidFreak – Elnoor

1

使用這個菜單文件,它工作得很好。哈利瘋狂的

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_m" 
     android:showAsAction="never" 
     android:title="menu"> 
     <menu > 
      <item 
      android:id="@+id/action_one" 
      android:icon="@android:drawable/ic_popup_sync" 
      android:showAsAction="always" 
      android:title="Sync"/> 
     <item 

      android:id="@+id/action_two" 
      android:icon="@android:drawable/ic_dialog_info" 
      android:title="About"/> 
     </menu> 
     </item> 
</menu> 
+0

非常感謝@Harry Mad,但事情是它是一個子菜單。但我想要的是顯示圖標主菜單項 – Elnoor

0

只是改變根項目回答

<item 
    android:title="Ещё" 
    app:showAsAction="always" 
    android:icon="@drawable/ic_more_vert"> 
    ... 
0

使用android:actionLayout在菜單項標籤lyout指定自定義(圖標與文字)。 菜單項將類似於:

<item 
    android:id="@+id/edit_menu" 
    android:actionLayout="@layout/custom_edit_row" 
    android:orderInCategory="100" 
    android:title="@string/edit" 
    app:showAsAction="always"></item> 

編輯

custom_edit_row.xml 

將是:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/relativeLayout1" 
style="@android:style/Widget.ActionButton" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:clickable="true"> 

<ImageView 
    android:id="@+id/imageViewEdit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/edit_ic" /> 

<TextView 
    android:id="@+id/tvEdit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Edit" /> 

+1

謝謝薩阿德,我明白了你的觀點。但是,請問,請給我一個「custom_edit_row」的示例佈局? – Elnoor

+0

@Elnoor請參閱更改 –

+0

它沒有工作薩德 – Elnoor

0
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context=".YourActivityName"> 

<item 
    android:id="@+id/action_settings" 
    android:icon="@android:drawable/btn_dialog" 
    android:title="@string/action_settings" 
    app:showAsAction="always"> 

    <menu> 
     <item 
      android:id="@+id/profile" 
      android:icon="@drawable/common_google_signin_btn_icon_light_disabled" 
      android:title="PROFILE" 
      app:showAsAction="always" /> 
    </menu> 

</item> 

+0

你能解釋你的答案嗎?一個好的答案**將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來SO的訪問者。 –

相關問題