Android PopupWindow 클릭 사라짐 해결 방법

1080 단어 PopupWindow
최근 프로젝트에서 팝업 윈도를 사용했는데 팝업 윈도를 눌러야 할 때 팝업 윈도를 숨겼고 2가지 실현 방식을 총괄해 봤다.
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();

좋은 웹페이지 즐겨찾기