6

Chcę zmienić kontekstowe tło menu kontekstowego EditText, gdy długo kliknę przycisk EditText.Menu kontekstowe menu kontekstowego zmiany edytów systemu Android

Próbowałem następujący kod, ale to nie działa. Tło kontekstowego menu kontekstowego nadal nie ulega zmianie.

<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> 

Rezultat jakiego chcę, tło menu kontekstowego jest takie samo jak kolor akcentu, który jest purpurowy. Jak mogę to osiągnąć?

enter image description here

Odpowiedz

0

Code Outcome Moja tematyka:

<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> 

Korzystanie popup menu kontekstowe:

@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

Będzie to możliwe, jeśli można udostępnić swój kod dla popup?

+0

Zanim opublikowałem moje pytanie, już wypróbowałem atrybut 'actionModeBackground', ale nie zadziałało. Myślę, że menu kontekstowe jest inne w menu trybu akcji. – alijandro

+0

Mam opublikowany przykład pracy, zobacz, czy to pomaga –

+0

Dziękuję bardzo, wynik pokazany na obrazku to menu kontekstowe trybu działania, które pojawia się na pasku akcji. Rezultat, którego chcę, to zmiana stylu menu kontekstowego, który ** NOT ** pojawia się na pasku akcji. – alijandro