2014-12-06 6 views
1

내 앱에 맞춤 팝업 메뉴를 구현하고 스타일을 지정하는 데 어려움을 겪었습니다.AppCompat v21 PopupMenu 스타일

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="popupMenuStyle">@style/PopupMenu</item> 
    <item name="textAppearanceLargePopupMenu">@style/PopupMenu.MenuItemText.Large</item> 
    <item name="textAppearanceSmallPopupMenu">@style/PopupMenu.MenuItemText.Small</item> 
</style> 

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

나는 다양한 스타일을 적용하는 시도와 속성,하지만 아무리 내가 뭘 난 항상이 볼 수 없습니다 : styles.xml에서

public DropDownMenu(Context context, Button button, int menuId, 
         OnMenuItemClickListener listener) { 
     mButton = button; 
     mPopupMenu = new PopupMenu(context, mButton); 
     mMenu = mPopupMenu.getMenu(); 
     mPopupMenu.getMenuInflater().inflate(menuId, mMenu); 
     mPopupMenu.setOnMenuItemClickListener(listener); 
     mButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       mPopupMenu.show(); 
      } 
     }); 
    } 

public DropDownMenu addDropDownMenu(Button button, int menuId) { 
    DropDownMenu menu = new DropDownMenu(mContext, button, menuId, this); 
    mMenus.add(menu); 
    return menu; 
} 

내가 설정 :

의 PopupMenu는 다음과 같이 생성됩니다 enter image description here

어리석은 잘못된 레이아웃 패딩을 없애려면 어떻게해야합니까? 나는 그것이 중요한 스타일 속성을 놓치고있는 것이 전부라고 생각합니다.

API 19 코드에서 AppCompat lib없이 사용했을 때 스타일이 잘 작동하는지 잘 모르겠습니다.

업데이트 : android.support.v7.widget.PopupMenu를 사용하는 경우 스타일은 위와 같습니다. 내가 android.widget.PopupMenu를 사용하는 경우, 어떤 스타일이 전혀 적용되지 않습니다 - 그것은 흰색 배경에 검은 색 텍스트가 항상 있지만, 제대로

표시
+0

당신이 되었습니까 이 문제에 대한 해결책은 무엇입니까? 나는 그것도 가지고 .. – Sandra

+0

불행히도. 팝업 메뉴를 없애기 위해 UI를 다시 설계했습니다. –

답변

1

당신은 당신의 popupstyle이를 추가 할 수 있습니다

<item name="android:popupElevation">0dp</item> 
관련 문제