在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