在H5火热的时代,许多框架都出了底部弹窗的控件,在H5被称为弹出菜单ActionSheet,今天我们也来模仿一个ios的底部弹窗,取材于苹果QQ的选择头像功能
废话不多说,先来个今天要实现的效果图
整个PopupWindow的开启代码
步骤分析:
- PopupWindow的布局
- PopupWindow的创建
- PopupWindow添加动画效果
- PopupWindow设置背景阴影
- PopupWindow监听点击事件
- 获取NavigationBar的高度
PopupWindow的布局:在Layout中,设计我们需要的布局
其效果是:
PopupWindow的创建:这个创建与我们普通的控件创建方法是一样的
PopupWindow添加动画效果:我们创建一个anim文件夹,创建我们的out和in动画效果,然后在style添加我们的动画
PopupWindow设置背景阴影:弹窗打开时设置透明度为0.5,弹窗消失时设置透明度为1
PopupWindow监听点击事件:监听我们PopupWindow里面控件的点击事件
获取NavigationBar的高度:这里需要适配有些手机没有NavigationBar有些手机有,这里以存在NavigationBar来演示
对存在NavigationBar的手机上,设置其PopupWindow的出现位置
对没有NavigationBar的手机上,设置其PopupWindow的出现位置
Github:https://github.com/AndroidHensen/IOSPopupWindow