Android PopupWindow 클릭 사라짐 해결 방법
1080 단어 PopupWindow
1、PopupWindow 외부 영역을 클릭하면 PopupWindow가 사라집니다.
popMenu = new PopupWindow(getApplicationContext());
popMenu.setWidth(LayoutParams.MATCH_PARENT);
popMenu.setHeight(LayoutParams.MATCH_PARENT);
popMenu.setBackgroundDrawable(new BitmapDrawable());
popMenu.setFocusable(true);
popMenu.setOutsideTouchable(true);
setOutsideTouchable 속성을 사용했습니다. 개발자 문서를 참고할 수 있습니다.
PopupWindow 사용 시 주의사항: PopupWindow의 backgroundDrawable를 설정해야 합니다. 그렇지 않으면 예상치 못한 버그가 발생할 수 있습니다.
2、PopupWindow 자체를 눌렀을 때(단추 컨트롤이 아니었을 때) PopupWindow가 사라짐
해결 방법: Popup Window의 콘텐츠 뷰에 클릭 이벤트 등록
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(popMenu.isShowing()){
dismiss();
}
}
});
popMenu.setContentView(view);
popMenu.showAtLocation(v, Gravity.BOTTOM, 0, 0);
// popMenu.setAnimationStyle(R.style.popwin_anim_style);
popMenu.update();