Android基础控件——PopupWindow模仿ios底部弹窗

Posted 张丽心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基础控件——PopupWindow模仿ios底部弹窗相关的知识,希望对你有一定的参考价值。


 

在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

以上是关于Android基础控件——PopupWindow模仿ios底部弹窗的主要内容,如果未能解决你的问题,请参考以下文章

Android 多个控件绑定同一个PopupWindow,当点击popupWindow中的控件时获取到触发popWindow控件的文本

Android开发,如何让PopupWindow弹出时外部控件不可点击?

Android原生控件 -- PopupWindow(选项菜单)

android中PopupWindow弹出窗体后,为啥不能点击其他控件

PopupWindow 使用详解

Android中PopupWindow遮罩层的设置