2015-11-18 8 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

ありがとう@ハリーマッドが、それはサブメニューであることです。しかし、私がしたいのは、アイコンのメインメニュー項目を表示することです – Elnoor

0

だけ変更ルートアイテムは、カスタムlyout(テキストとアイコン)を指定するには、メニュー項目のタグに

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

使用android:actionLayoutに答えます。 メニュー項目は次のようになります。

<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

それは動作しませんでしたSaad – 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のためだけでなく、将来の訪問者のためにそうした方法で行われたのかについての説明をいつも持っています。 –

関連する問題