• 当前activity透明度的获取与修改


     1 WindowManager.LayoutParams lp = getWindow().getAttributes();//layoutparams是静态类不能通过new来完成.

    2 lp.alpha = bgAlpha; //0.0-1.0

    3 getWindow().setAttributes(lp);  

    下面通过一个例子来看该方法的使用:


    android中popupwindow弹出后,屏幕背景变成半透明

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

    1. /** 
    2.      * 设置添加屏幕的背景透明度 
    3.      * @param bgAlpha 
    4.      */  
    5.     public void backgroundAlpha(float bgAlpha)  
    6.     {  
    7.         WindowManager.LayoutParams lp = getWindow().getAttributes();  
    8.             lp.alpha = bgAlpha; //0.0-1.0  
    9.                 getWindow().setAttributes(lp);  
    10.     }  

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

    1.        popWin = new PopupWindow(popAddNoteType, mScreenWidth *8 /10, ViewGroup.LayoutParams.WRAP_CONTENT);  
    2. //在PopupWindow里面就加上下面代码,让键盘弹出时,不会挡住pop窗口。  
    3. popWin.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);           
    4. popWin.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);  
    5. //点击空白处时,隐藏掉pop窗口  
    6. popWin.setFocusable(true);  
    7. popWin.setBackgroundDrawable(new BitmapDrawable());  
    8. backgroundAlpha(1f);  
    9.   
    10.       //添加pop窗口关闭事件  
    11.       popWin.setOnDismissListener(new poponDismissListener());  


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

    1. /** 
    2.      * 添加新笔记时弹出的popWin关闭的事件,主要是为了将背景透明度改回来 
    3.      * @author cg 
    4.      * 
    5.      */  
    6.     class poponDismissListener implements PopupWindow.OnDismissListener{  
    7.   
    8.         @Override  
    9.         public void onDismiss() {  
    10.             // TODO Auto-generated method stub  
    11.             //Log.v("List_noteTypeActivity:", "我是关闭事件");  
    12.             backgroundAlpha(1f);  
    13.         }  
    14.           
    15.     }  

    上面

    1. popWin.setOnDismissListener(new poponDismissListener());  

    的代码就是调用这个事件

  • 相关阅读:
    chrome开发者工具使用方法。
    模拟window的history对象
    浏览器后退刷新(通过浏览器按钮)
    日常口语十
    日常口语九
    日常口语八
    日常口语七
    日常口语五
    日常口语五
    日常口语四
  • 原文地址:https://www.cnblogs.com/imqsl/p/6635321.html
Copyright © 2020-2023  润新知