Android 中 PopupWindow的用法 汇总 Android 中 PopupWindow的用法 汇总
16lz
2021-01-23
Android 中 PopupWindow的用法 汇总
2012-10-12 10:16 241人阅读 评论(0) 收藏 举报在Android中有很多级别的Window,不同级别的Window按照z-index方向分布。下面看看Android控件(view)PopupWindow的用法(位置、动画、焦点)。
1、创建PopouWindow及相关参数设置
[html] view plain copy print ?- //创建一个包含自定义view的PopupWindow
- ivatePopupWindowmakePopupWindow(Contextcx){
- PopupWindowwindow;
- window=newPopupWindow(cx);
- TextViewcontentView=newTextView(cx);
- contentView.setGravity(Gravity.CENTER);
- finalResourcesres=cx.getResources();
- //contentView.setBackgroundColor(R.color.page_window_bgcolor);
- //window.setBackgroundDrawable(new
- //ColorDrawable(res.getColor(R.color.page_window_bgcolor)));
- contentView.setLayoutParams(newLayoutParams(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);
- returnwindow
2、PopupWindow显示和隐藏的动画设置
XML配置代码:
- <!--PopupWindow窗口淡入淡出动画-->
- <stylename="AnimationFade">
- <itemname="android:windowEnterAnimation">@anim/fade_in</item>
- <itemname="android:windowExitAnimation">@anim/fade_out</item>
- </style>
JAVA代码:
[html] view plain copy print ?- window.setAnimationStyle(R.style.AnimationFade);
3、PopupWindow的焦点设置
[html] view plain copy print ?- window.setFocusable(true);//设置PopupWindow可获得焦点
- window.setTouchable(true);//设置PopupWindow可触摸
- window.setOutsideTouchable(true);//设置非PopupWindow区域可触摸
4、PopupWindow的显示及显示位置设置
[html] view plain copy print ?- window.showAtLocation();
- window.showAsDropDown();
5、PopupWindow的隐藏
[html] view plain copy print ?- finalPopupWindowwindow=mPageStatWin;
- if(null!=window&&window.isShowing()){
- win.dismiss();
- }
6、PopupWindow的显示及位置设置
[html] view plain copy print ?- window.showAtLocation(parent,Gravity.RIGHT|Gravity.BOTTOM,10,10);
第二个参数指定起始点为parent的右下角,第三个参数设置以parent的右下角为原点,向左、上各偏移10像素。 [html] view plain copy print ?
- //将PopupWindow作为anchor的下拉窗口显示。即在anchor的左下角显示
- window.showAsDropDown(anchor);
- //xoff,yoff基于anchor的左下角进行偏移。
- window.showAsDropDown(anchor,xoff,yoff);
在Android中有很多级别的Window,不同级别的Window按照z-index方向分布。下面看看Android控件(view)PopupWindow的用法(位置、动画、焦点)。
1、创建PopouWindow及相关参数设置
[html] view plain copy print ?- //创建一个包含自定义view的PopupWindow
- ivatePopupWindowmakePopupWindow(Contextcx){
- PopupWindowwindow;
- window=newPopupWindow(cx);
- TextViewcontentView=newTextView(cx);
- contentView.setGravity(Gravity.CENTER);
- finalResourcesres=cx.getResources();
- //contentView.setBackgroundColor(R.color.page_window_bgcolor);
- //window.setBackgroundDrawable(new
- //ColorDrawable(res.getColor(R.color.page_window_bgcolor)));
- contentView.setLayoutParams(newLayoutParams(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);
- returnwindow
2、PopupWindow显示和隐藏的动画设置
XML配置代码:
- <!--PopupWindow窗口淡入淡出动画-->
- <stylename="AnimationFade">
- <itemname="android:windowEnterAnimation">@anim/fade_in</item>
- <itemname="android:windowExitAnimation">@anim/fade_out</item>
- </style>
JAVA代码:
[html] view plain copy print ?- window.setAnimationStyle(R.style.AnimationFade);
3、PopupWindow的焦点设置
[html] view plain copy print ?- window.setFocusable(true);//设置PopupWindow可获得焦点
- window.setTouchable(true);//设置PopupWindow可触摸
- window.setOutsideTouchable(true);//设置非PopupWindow区域可触摸
4、PopupWindow的显示及显示位置设置
[html] view plain copy print ?- window.showAtLocation();
- window.showAsDropDown();
5、PopupWindow的隐藏
[html] view plain copy print ?- finalPopupWindowwindow=mPageStatWin;
- if(null!=window&&window.isShowing()){
- win.dismiss();
- }
6、PopupWindow的显示及位置设置
[html] view plain copy print ?- window.showAtLocation(parent,Gravity.RIGHT|Gravity.BOTTOM,10,10);
第二个参数指定起始点为parent的右下角,第三个参数设置以parent的右下角为原点,向左、上各偏移10像素。 [html] view plain copy print ?
- //将PopupWindow作为anchor的下拉窗口显示。即在anchor的左下角显示
- window.showAsDropDown(anchor);
- //xoff,yoff基于anchor的左下角进行偏移。
- window.showAsDropDown(anchor,xoff,yoff);
更多相关文章
- 无废话Android之smartimageview使用、android多线程下载、显式意
- android 关于焦点的获取与监听失效问题的处理
- 在控件的任意位置显示图片
- Android焦点分析之View
- 图文详解Android属性动画
- Android中EditText输入框焦点从文字前面变成文字后面
- Android Activity切换动画效果详解(附源代码)
- Android基础控件——ProgressBar自定义的介绍、动画效果实现、附
- TextView跑马灯的几点问题:持续动画 和 与EditText争抢焦点的问题