【Android - 进阶】之PopupWindow的使用
2016-12-22 14:59
344 查看
创建一个类继承自PopupWindow,编写自定义的PopupWindow类。示例代码如下:
调用代码:
import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.PopupWindow; /** * 自定义的PopupWindow */ public class MyPopWindow extends PopupWindow { public MyPopWindow(Activity context) { // 通过layout的id找到布局View View contentView = LayoutInflater.from(context).inflate(R.layout.pop_custom, null); // 获取PopupWindow的宽高 int h = context.getWindowManager().getDefaultDisplay().getHeight(); int w = context.getWindowManager().getDefaultDisplay().getWidth(); // 设置PopupWindow的View this.setContentView(contentView); // 设置PopupWindow弹出窗体的宽高 this.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); this.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); // 设置PopupWindow弹出窗体可点击(下面两行代码必须同时出现) this.setFocusable(true); this.setOutsideTouchable(true); // 当点击外围的时候隐藏PopupWindow // 刷新状态 this.update(); // 设置PopupWindow的背景颜色为半透明的黑色 ColorDrawable dw = new ColorDrawable(Color.parseColor("#66000000")); this.setBackgroundDrawable(dw); // 设置PopupWindow弹出窗体动画效果 this.setAnimationStyle(R.style.PopWindowAnimStyle); // 这里也可以从contentView中获取到控件,并为它们绑定控件 } // 显示PopupWindow,有两种方法:showAsDropDown、showAtLocation public void showPopupWindow(View parent) { if (!this.isShowing()) { // showAsDropDown方法,在parent下方的(x,y)位置显示,x、y是第二和第三个参数 // this.showAsDropDown(parent, parent.getWidth() / 2 - 400, 18); // showAtLocation方法,在parent的某个位置参数,具体哪个位置由后三个参数决定 this.showAtLocation(parent, Gravity.CENTER, 0, 0); } else { this.dismiss(); } } }
调用代码:
MyPopWindow popWindow = new MyPopWindow(MainActivity.this); popWindow.showPopupWindow(new View(MainActivity.this));
相关文章推荐
- Android PopupWindow RadioGroup RadioButton 的使用
- android之PopUpWindow使用实例
- android PopupWindow使用实例
- Android的PopupWindow使用android学习之旅(四十三)
- Android PopupWindow的使用和分析
- PopupWindow进阶用法——android上实现类似UCweb的自定义menu,完全模拟系统事件
- Android PopupWindow的使用技巧(转)
- 【Android UI设计与开发】6.底部菜单栏(三)使用Fragment+PopupWindow仿QQ空间最新版底部菜单栏
- Android PopupWindow的使用
- Android的PopupWindow使用android学习之旅(四十三)
- Android进阶2之PopupWindow弹窗(有点悬浮窗的感觉)
- Android PopupWindow的使用技巧
- android之PopUpWindow使用实例
- Android ListPopupWindow的使用
- Android PopupWindow的使用
- android之PopUpWindow使用实例
- ANDROID笔记:ListPopupWindow的使用
- android popupwindow的使用与讲解
- Android PopupWindow的使用和分析
- Android ListPopupWindow的使用