6

Desidero modificare lo sfondo del menu di scelta rapida EditText quando si fa clic su lungo il EditText.Modifica stile editatext stile popup menu contestuale

Ho provato il seguente codice, ma non funziona. Lo sfondo del menu contestuale non è ancora stato modificato.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="dialogTheme">@style/MyDialogTheme</item> 
    <item name="popupMenuStyle">@style/MyPopupStyle</item> 
</style> 

<style name="MyPopupStyle" parent="Widget.AppCompat.PopupMenu"> 
    <item name="android:popupBackground">@color/colorAccent</item> 
</style> 

<style name="MyDialogTheme" parent="Base.V7.Theme.AppCompat.Dialog"> 
    <item name="android:colorBackground">@color/colorAccent</item> 
</style> 

Il risultato che voglio è, sfondo del menu contestuale popup è lo stesso del colore accento che è magenta. Come posso ottenerlo?

enter image description here

risposta

0

Code Outcome mio tema:

<style name="PopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu"> 
     <item name="android:popupBackground">@color/popup_background</item> 
    </style> 

    <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.DayNight.NoActionBar"> 
     <item name="colorPrimary">#673AB7</item> 
     <item name="android:popupMenuStyle">@style/PopupMenu</item> 
     <item name="colorPrimaryDark">#512DA8</item> 
     <item name="colorAccent">#FF4081</item> 
     <item name="android:windowBackground">@color/window_background</item> 
     <item name="android:popupBackground">@color/popup_background</item> 
     <item name="android:itemBackground">@color/popup_background</item> 
     **<item name="android:actionModeBackground">@color/popup_background</item>** 
    </style> 

<resources> 
    <color name="window_background">#FFF5F5F5</color> 
    <color name="popup_background">#FF4081</color> 
</resources> 

Utilizzando il menu contestuale a comparsa:

@Override 
    public boolean onLongClick(View v) 
    { 
     PopupMenu menu = new PopupMenu(this, v); 
     MenuInflater inflater = menu.getMenuInflater(); 
     inflater.inflate(R.menu.drawer_view, menu.getMenu()); 
     menu.show(); 
     return false; 

    } 

enter image description here

Sarà possibile se è possibile condividere il codice per pop-up?

+0

Prima di pubblicare la mia domanda, ho già provato l'attributo 'actionModeBackground', ma non ha funzionato. Penso che il menu contestuale popup sia diverso con il menu della modalità di azione. – alijandro

+0

Ho pubblicato un esempio di lavoro, vedere se questo aiuta –

+0

Grazie mille, il risultato mostrato nell'immagine è il menu di scelta rapida della modalità di azione, che viene visualizzato nella barra delle azioni. Il risultato che voglio è cambiare lo stile del menu contestuale popup che è ** NON ** visualizzato nella barra delle azioni. – alijandro