Android开发之PopupWindow实现AlertDialog效果

2025-05-22 14:58:17

PopupWindow属于android.widget包下的一个控件,该控件的使用方式不同别的控件,无法在布局文件中直接使用,可以在代码中动态使用,动态创建PopupWindow,查看文档TeachCourse发现有多种构造方法,根据参数创建各式各样的PopupWindow。

Android开发之PopupWindow实现AlertDialog效果

工具/原料

Android开发工具:Android Studio或Eclipse

Android测试工具:虚拟设备或测试手机

一、PopupWindow实例详细介绍

1、一稍僚敉视个PopupWindow对象可以用于展示随意的view,是一个浮动的容器位于当前activity的顶部,可以设置AlertDialog弹窗效果,可以参考钊林IT另外一篇 文章《自定狲辍嗨嘴义弹窗 VS AlertDialog分享弹窗》。设计一个底部弹窗窗口Demo,选择绑定银行卡开户行,有点像微信绑定银行卡窗口,选择开户行后,弹窗消失,继续下一步操作。

Android开发之PopupWindow实现AlertDialog效果

2、如何创建PopupWindow对象?创建PopupWindow有多种方式,Ctrl+鼠标左键,查看PopupWindow源码,最后一种构造方法,指定PopupWindow布局,默认窗口的宽/高以及是否获取焦点属性,如下图:

Android开发之PopupWindow实现AlertDialog效果

3、如何调整PopupWindow窗口位置?PopupWindow提供的showAtLocation(View parent,int gravity,int x,i荏鱿胫协nt y)方法,方便快速设置窗相对于当前窗口位置:parent,依附的父容器视图View;gravity,指定Gravity.LEFT,Gravity.TOP,Gravity.RIGHT,Gravity.BOTTOM,弹窗的位置;X或Y,弹窗相对X轴或Y轴的偏移量

Android开发之PopupWindow实现AlertDialog效果

4、如何PopupWindow窗口动画?使用setAnimationStyle(int animationStyle);animationStyle:PopupWindow出现和消失的动画样式,-1表示默认动画样式,0表示木有动画,或者引用一个自定义动画资源

5、这里引用了一个自定义纳骥姘鹚滑动资源,设置窗体进入动画android:windowEnterAnimatio荏鱿胫协n和窗体退出动画android:windowExitAnimation,关于动画的详细介绍,可以参考TeachCourse另一篇文章《Android代码绘制虚线、圆角、渐变和阴影效果图》

Android开发之PopupWindow实现AlertDialog效果
Android开发之PopupWindow实现AlertDialog效果

6、如何PopupWindow布局?在知识点1中的popupWindow_view定义的布局,这里展示银行开卡行名称,添加了ListView控件,关联的数据items数组,关键代码:

Android开发之PopupWindow实现AlertDialog效果
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢