6

EditTextEditText을 길게 누르면 팝업 컨텍스트 메뉴 배경을 변경하고 싶습니다.Android edittext 팝업 컨텍스트 메뉴 스타일 변경

다음 코드를 시도했지만 작동하지 않습니다. 팝업 컨텍스트 메뉴 배경이 변경되지 않았습니다.

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

내가 원하는 결과는 팝업 컨텍스트 메뉴 배경이 마젠타 색 액센트 색상과 동일하다는 것입니다. 그것을 어떻게 성취 할 수 있습니까?

enter image description here

답변

0

Code Outcome 내 테마 :

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

사용하여 팝업 상황에 맞는 메뉴 :

@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

당신이 팝업에 대한 코드를 공유 할 수 있습니다 가능됩니다?

+0

질문을 게시하기 전에 이미 'actionModeBackground' 속성을 시도했지만 작동하지 않았습니다. 팝콘 컨텍스트 메뉴는 동작 모드 메뉴와 다른 것 같습니다. – alijandro

+0

작업 예제를 게시했습니다. 도움이되는지 확인하십시오. –

+0

대단히 고맙습니다. 이미지에 표시된 결과는 작업 표시 줄에 나타나는 작업 모드 컨텍스트 메뉴입니다. 내가 원하는 결과는 액션 바에 나타나지 않는 팝업 컨텍스트 메뉴 스타일을 변경하는 것입니다. – alijandro