在Android中有很多级别的Window,不同级别的Window按照z-index方向分布。下面看看Android控件(view)PopupWindow的用法(位置、动画、焦点)。

1、创建PopouWindow及相关参数设置

//创建一个包含自定义view的PopupWindowprivate PopupWindow makePopupWindow(Context cx) {    PopupWindow window;    window = new PopupWindow(cx);    TextView contentView = new TextView(cx);    contentView.setGravity(Gravity.CENTER);    final Resources res = cx.getResources();    // contentView.setBackgroundColor(R.color.page_window_bgcolor);    // window.setBackgroundDrawable(new    // ColorDrawable(res.getColor(R.color.page_window_bgcolor)));    contentView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,            LayoutParams.WRAP_CONTENT));    //设置PopupWindow显示和隐藏时的动画     window.setAnimationStyle(R.style.AnimationFade);    //设置PopupWindow的大小(宽度和高度)     window.setWidth(res.getDimensionPixelSize(R.dimen.page_window_width));    window.setHeight(res.getDimensionPixelSize(R.dimen.page_window_height));    //设置PopupWindow的内容view    window.setContentView(contentView);        //设置PopupWindow外部区域是否可触摸     window.setOutsideTouchable(true);    return window

2、PopupWindow显示和隐藏的动画设置
XML配置代码:

JAVA代码:

window.setAnimationStyle(R.style.AnimationFade);

3、PopupWindow的焦点设置

window.setFocusable(true); //设置PopupWindow可获得焦点window.setTouchable(true); //设置PopupWindow可触摸window.setOutsideTouchable(true); //设置非PopupWindow区域可触摸

4、PopupWindow的显示及显示位置设置

window.showAtLocation();    
window.showAsDropDown();    

 5、PopupWindow的隐藏

final PopupWindow window = mPageStatWin;if(null != window && window.isShowing()) {    win.dismiss();}

6、PopupWindow的显示及位置设置

window.showAtLocation(parent, Gravity.RIGHT | Gravity.BOTTOM, 10,10);
第一个参数指定PopupWindow的锚点view,即依附在哪个view上。
第二个参数指定起始点为parent的右下角,第三个参数设置以parent的右下角为原点,向左、上各偏移10像素。
//将PopupWindow作为anchor的下拉窗口显示。即在anchor的左下角显示window.showAsDropDown(anchor);//xoff,yoff基于anchor的左下角进行偏移。window.showAsDropDown(anchor, xoff, yoff);
如果没有充足的空间显示PopupWindow,那么PopupWindow的左下角将位于anchor的左上角来显示。

 

 

更多相关文章

  1. 设置Activity全屏
  2. 一个不错的启动菜单显示屏动画效果
  3. MaterialDesign系列文章(六)沉浸式状态栏的使用
  4. android 动画之Scroller
  5. Android中Activity跳转和切换动画
  6. Android(安卓)应用语言设置的实现
  7. Android(安卓)字体自适应设置
  8. 如何让Android字体自适应屏幕分辨率
  9. 管理Android通信录

随机推荐

  1. [置顶] android仿最新版本微信相册--附源
  2. Android(安卓)获取、移除 View 的 OnClic
  3. Android中使用SerialPort读取红外温度传
  4. Gradle、 Gradle Android(安卓)Plugin 、
  5. Android(安卓)studio gradle系列二.
  6. ubuntu11.0.4下编译Android
  7. Android(安卓)SystemUI之启动流程(一)
  8. Webview缓存处理
  9. 2013.07.12——— android red5安装
  10. Android(安卓)基础-1.0 按钮4种点击事件