2016-04-15 21 views
3

私はプログラム的にmenu-Itemをメニューに追加しようとしています。選択した項目の背景色を特定のItemに追加したい。 menuItemに背景を追加するには?どのようにアンドロイドでmenuItemの背景色を変更するには?

enter image description here

あなたの答えをいただければ幸いです。

+0

この回答は役に立ちました:http://stackoverflow.com/questions/19659637/how-to-change-the-background-color-of-action-bars-option-menu-in-android-4-2 – davehenry

+0

あなたが正しいかどうかを確認してくださいhttp://stackoverflow.com/a/28979152/3790150 – saeed

答えて

1
/** Firstly You need to create an Style for popmenu as you want refer below sample for that**/ 


    <style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow"> 
      name="android:textStyle">@style/commonEditTextTheme</item> 
      <item name="android:popupBackground">@drawable/pop_up_menu_bg_with_shadow</item> 
     </style> 


**Place of drawable you can also replace with color as you needed or make XML Drawable into your drawable folder ** 

    <style name="commonEditTextTheme" parent="@android:style/TextAppearance.Medium"> 
      <item name="android:fontFamily">sans-serif-light</item> 
     </style> 

    ** this pop menu theme add in your main application or activity theme like below** 

     <!--My Theme--> 
     <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
      ..... 
      <item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item> 

       </style> 
2

他の回答は、変更のスタイルを提供しているが(すべてのメニュー項目に影響を与えるであろう、と、私は理解して、必要な1つのメニュー項目を変更することがある)、
私はあなたがあなたのカスタムを実装するためにandroid:actionLayout属性を使用することを提案しますメニューアイテムのレイアウト。

documentationを参照してください(実際には非常に簡単です)。

また、レイアウトとしてselectorを作成して使用する可能性があると思います。


更新。申し訳ありませんが、私はあなたを欺く:(

のMenuItemは(3つのドットに押していないとき)のアクションとして表示されている場合にのみ

このすべてが動作する他の答え与えられた人は正しかったようだ - 。これをカスタマイズするための唯一の方法テーマを変更している
がしかしthisthisを確認してください
- 。。。それはあなたがあなたの目的のためにセレクタを提供するために役立つかもしれない
が また、あなたがPopupMenuあるいはPopupWindowを作成することができ、最後の一つは、完全にカスタマイズ可能です
を最後のオプションは、作成することです。カスタムスピナー、チェックthis

これからの何かがあなたを助けます。ありがとう。

+0

、あなたはプログラムによってメニュー項目にactionlayoutを追加する方法を説明できますか? – Vasant

関連する問題