当前位置: 移动技术网 > IT编程>移动开发>Android > Android编程实现popupwindow弹出后屏幕背景变成半透明效果

Android编程实现popupwindow弹出后屏幕背景变成半透明效果

2019年07月24日  | 移动技术网IT编程  | 我要评论

死神之八云六道,非常完美经典台词,上海挂号网上预约

本文实例讲述了android编程实现popupwindow弹出后屏幕背景变成半透明效果的方法。分享给大家供大家参考,具体如下:

android中popupwindow弹出后,屏幕背景变成半透明这个效果很普通。实现的方法也很多。我使用的可能是最简单的一种,就是设置一下getwindows的透明度。不多说上代码

/**
* 设置添加屏幕的背景透明度
* @param bgalpha
*/
public void backgroundalpha(float bgalpha)
{
    windowmanager.layoutparams lp = getwindow().getattributes();
        lp.alpha = bgalpha; //0.0-1.0
        getwindow().setattributes(lp);
}

之所以设置成方法,是因为当popwindow关闭的时候我们还要将这个透明度改回来。

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());

这里可能有人就要问了,当我点击屏幕空白处时,pop窗口是没了,可是背景还是半透明的,这不行啊。这里我们就用到一个事件

/**
* 添加新笔记时弹出的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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网