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{@Overridepublic void onDismiss() {// TODO Auto-generated method stub//Log.v("List_noteTypeActivity:", "我是关闭事件");backgroundAlpha(1f);}}
上面
popWin.setOnDismissListener(new poponDismissListener());
的代码就是调用这个事件

更多相关文章

  1. Android 5.0 自定义dialog 背景不透明解决方法
  2. 一个关于android中ListView的子控件中按钮事件的简单方法
  3. android的触摸事件
  4. [置顶] Android WebKit消息处理(二)Touch事件的分发处理
  5. android 事件分发之dispatchTouchEvent()用法
  6. [Android]RecyclerView基本使用+adapter回调接口实现点击事件
  7. Android layer-list 圆角阴影背景
  8. EditText点击事件——弹出单选框

随机推荐

  1. Android Touch事件分发机制学习
  2. Android隐式启动Activity匹配详解:Action,c
  3. Android TextView文字过多,添加滚动条
  4. Windows下载Android全部源码
  5. 解决CardView无点击效果 实现水波纹效果
  6. android sdk setup时呈现:Failed to fetc
  7. Android 源码分析-打电话和发短信
  8. SD卡读写文件 代码学习
  9. android 使用post方法请求网址
  10. android joystick 游戏摇杆