Tôi không thể tìm thấy cách dễ dàng để tạo kiểu cho PopupMenu của mình vì vậy tôi đã sử dụng "PopupWindow" thay thế, chuyển một listview vào nó và tạo kiểu như tôi muốn.
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);
Nguồn
2012-12-26 14:13:15
sau đó trên mục danh sách, hãy nhấp vào sử dụng contentopupWindow.dismiss(); để đóng cửa sổ tự động –