Android控件控件PopupWindow模仿模仿ios底部弹窗底部弹窗
前言前言
在H5火热的时代,许多框架都出了底部弹窗的控件,在H5被称为弹出菜单ActionSheet,今天我们也来模仿一个ios的底部弹
窗,取材于苹果QQ的选择头像功能。
正文正文
废话不多说,先来个今天要实现的效果图
整个PopupWindow的开启代码
private void openPopupWindow(View v) {
//防止重复按按钮
if (popupWindow != null && popupWindow.isShowing()) {
return;
}
//设置PopupWindow的View
View view = LayoutInflater.from(this).inflate(R.layout.view_popupwindow, null);
popupWindow = new PopupWindow(view, RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
//设置背景,这个没什么效果,不添加会报错
popupWindow.setBackgroundDrawable(new BitmapDrawable());
//设置点击弹窗外隐藏自身
popupWindow.setFocusable(true);
popupWindow.setOutsideTouchable(true);
//设置动画
popupWindow.setAnimationStyle(R.style.PopupWindow);
//设置位置
popupWindow.showAtLocation(v, Gravity.BOTTOM, 0, navigationHeight);
//设置消失监听
popupWindow.setOnDismissListener(this);