2012-03-12 9 views
5

Jak ustawić styl PopupMenu w systemie Android? Chcę mieć szare tło i ikonę przed tekstem.Styl PopupMenu Android

  • Czy mogę naprawić tę dynamikę w kodzie Java.
  • czy to naprawić przy użyciu pliku stylu globalnego?

tak:

<style name="GreenText" parent="@android:style/PopupMenu"> 
    <item name="android:textColor">#00FF00</item> 
</style> 

lub mogę lepiej zbudować PopupWindow jak w tym wątku?

inflate popup menu items programatically

Dziękuję.

Odpowiedz

2

Nie mogłem znaleźć prostego sposobu na wyeksportowanie mojego PopupMenu, więc zamiast tego użyłem "PopupWindow", przekazałem do niego listę i stylizowałem ją tak, jak chcę.

popView=layoutInflater.inflate(R.layout.pop_layout, null); // layout with a listview to  put in the popup window 
lv=(ListView)popView.findViewById(R.id.pop_listview); // then set listview parameters 

final PopupWindow contentsopupWindow = new PopupWindow(popView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
      contentsopupWindow.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.pixel_dot));// set a background so the menu disappears when you click outside it 
      contentsopupWindow.setTouchable(true); 
      contentsopupWindow.setFocusable(true); 
      contentsopupWindow.setOutsideTouchable(true); 
      contentsopupWindow.setTouchInterceptor(new OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent event) { 
        if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { 
         contentsopupWindow.dismiss(); 
         return true; 
         } 
         return false; 
         } 
      }); 
      WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); 


      contentsopupWindow.showAsDropDown(anchorView); 
+0

następnie na pozycji listy kliknij use contentsopupWindow.dismiss(); aby zamknąć okno automatycznie –

Powiązane problemy