Home >Java >javaTutorial >Android programming realizes that the screen background becomes translucent after popupwindow pops up
The example of this article describes the method of Android programming to realize the screen background becoming translucent after the popupwindow pops up. Share it with everyone for your reference, the details are as follows:
After the popupwindow pops up in android, the screen background becomes translucent. This effect is very common. There are many ways to achieve this. What I use is probably the simplest one, which is to set the transparency of getWindows. Not much to say about the code
/** * 设置添加屏幕的背景透明度 * @param bgAlpha */ public void backgroundAlpha(float bgAlpha) { WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = bgAlpha; //0.0-1.0 getWindow().setAttributes(lp); }
The reason why it is set as a method is because we have to change the transparency back when the popwindow is closed.
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());
Someone may ask here, when I click on the blank area of the screen, the pop window disappears, but the background is still translucent, this is not okay ah. Here we use an event
/** * 添加新笔记时弹出的popWin关闭的事件,主要是为了将背景透明度改回来 * @author cg * */ class poponDismissListener implements PopupWindow.OnDismissListener{ @Override public void onDismiss() { // TODO Auto-generated method stub //Log.v("List_noteTypeActivity:", "我是关闭事件"); backgroundAlpha(1f); } }
The code above
popWin.setOnDismissListener(new poponDismissListener());
is to call this event
I hope this article will be useful to everyone in Android programming. helped.
For more Android programming to realize the screen background becomes translucent after popupwindow pops up, please pay attention to the PHP Chinese website!