Home > Java > javaTutorial > Android programming realizes that the screen background becomes translucent after popupwindow pops up

Android programming realizes that the screen background becomes translucent after popupwindow pops up

高洛峰
Release: 2017-01-20 15:55:28
Original
2833 people have browsed it

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);
}
Copy after login

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());
Copy after login

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);
    }
}
Copy after login

The code above

popWin.setOnDismissListener(new poponDismissListener());
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template