弹窗

Popupwindow的基础知识

2019-10-11  本文已影响0人  残非

1.PopupWindow与AlertDialog的区别

PopupWindow和AlertDialog很相似,都是一个悬浮的窗口遮挡在当前页面,PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵活。

2.构造函数

  public PopupWindow(View contentView) {
    this(contentView, 0, 0);
}
public PopupWindow(View contentView, int width, int height) {
    this(contentView, width, height, false);
}
public PopupWindow(View contentView, int width, int height, boolean focusable) {
   ......
}

首要注意:看这几个构造函数,但要生成一个PopupWindow最基本的三个条件是一定要设置的:View contentView,int width, int height ;少任意一个就不可能弹出来PopupWindow!!!!

3.创建方法

View inflate = LayoutInflater.from(this).inflate(R.layout.pop, null, false);
final PopupWindow popupWindow = new PopupWindow(inflate, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
popupWindow.showAsDropDown(mBtn2,0,0);

4.显示函数

//相对于某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor);
//相对某个控件的位置,有偏移;xoff表示x轴的偏移,正值表示向左,负值表示向右;yoff表示相对y轴的偏移,正值向下,负值向上;
showAsDropDown(View anchor);
//相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
showAsDropDown(View anchor);
//点击消失
popupWindow.dismiss();
上一篇下一篇

猜你喜欢

热点阅读