이 기사의 예에서는 팝업 창이 팝업된 후 화면 배경이 반투명해지는 것을 구현하는 Android 프로그래밍 방법을 설명합니다. 참고하실 수 있도록 공유해 주세요. 자세한 내용은 다음과 같습니다.
Android에서는 팝업창이 뜬 후 화면 배경이 반투명해지는 현상이 매우 일반적입니다. 이를 달성하는 방법에는 여러 가지가 있습니다. 내가 사용하는 것은 아마도 getWindows의 투명도를 설정하는 가장 간단한 것일 것입니다.
/** * 设置添加屏幕的背景透明度 * @param bgAlpha */ public void backgroundAlpha(float bgAlpha) { WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = bgAlpha; //0.0-1.0 getWindow().setAttributes(lp); }
코드에 대해서는 말할 것도 없습니다. 팝창이 닫힐 때 투명도를 다시 변경해야 하기 때문입니다.
popWin = new PopupWindow(popAddNoteType, mScreenWidth *8 /10, ViewGroup.LayoutParams.WRAP_CONTENT); //在PopupWindow里面就加上下面代码,让键盘弹出时,不会挡住pop窗口。 popWin.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); popWin.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); //点击空白处时,隐藏掉pop窗口 popWin.setFocusable(true); popWin.setBackgroundDrawable(new BitmapDrawable()); backgroundAlpha(1f); //添加pop窗口关闭事件 popWin.setOnDismissListener(new poponDismissListener());
누군가가 여기 물어볼 수도 있는데, 화면 빈 곳을 클릭하면 팝업창은 사라지는데 배경은 여전히 반투명한데 이거 안 괜찮아 아. 여기서는
/** * 添加新笔记时弹出的popWin关闭的事件,主要是为了将背景透明度改回来 * @author cg * */ class poponDismissListener implements PopupWindow.OnDismissListener{ @Override public void onDismiss() { // TODO Auto-generated method stub //Log.v("List_noteTypeActivity:", "我是关闭事件"); backgroundAlpha(1f); } }
위의 코드
popWin.setOnDismissListener(new poponDismissListener());
에서 이 이벤트를 호출합니다.
이 글이 Android를 사용하는 모든 사람에게 유용하길 바랍니다. 프로그래밍에 도움이 되었습니다.
팝업창 팝업 구현을 위한 더 많은 안드로이드 프로그래밍을 원하시면 화면 배경이 반투명해집니다. 관련 글은 PHP 중국어 홈페이지를 참고해주세요!