Popupwindow常用方法

//创建一个空的popupwindow
public PopupWindow()
//contentView  popupwindow要展示的view 
public PopupWindow(View contentView) 
//width:popupwindow的宽 height:popupwindow的长
public PopupWindow(int width, int height)
//contentView  popupwindow要展示的view  width:popupwindow的宽 height:popupwindow的高
public PopupWindow(View contentView, int width, int height)
//contentView  popupwindow要展示的view  width:popupwindow的宽 height:popupwindow的高   focusable:是否获取焦点
public PopupWindow(View contentView, int width, int height, boolean focusable)

##设置方法
//设置动画特效 即 展示和消失动画
public void setAnimationStyle(int animationStyle)

//主要作用是为了设置 PopupWindow 显示的时候是否会与 StatusBar 重叠(如果存在的话也包括 SystemBar )
public void setAttachedInDecor(boolean enabled)

//设置  PopupWindow 的背景
public void setBackgroundDrawable(Drawable background)

//设置 PopupWindow 允许超出窗口  默认为false
public void setClippingEnabled(boolean enabled)

//设置 PopupWindow  内展示的内容,可在创建popupwindow时以参数的形式传入
public void setContentView(View contentView)

//设置 PopupWindow  的高度,类似于 3D 效果的阴影
public void setElevation(float elevation)

//设置 PopupWindow的入场动画
public void setEnterTransition(Transition enterTransition) 

//设置出场动画
public void setExitTransition(Transition exitTransition)

//设置 popupWindow 是否可以获取焦点
 public void setFocusable(boolean focusable)
 
//设置 PopupWindow的高度
 public void setHeight(int height) 
 
/* 设置是否忽略“脸颊触碰”,默认为false,即不忽略。
什么是“脸颊触碰”? Events都有一个大小,当Events的大小比手指尺寸大时即为CheekPress,这个可能常用于打电话时脸颊碰到屏幕的情况*/
public void setIgnoreCheekPress() 

/*设置输入法的操作模式 参数为这三个:
INPUT_METHOD_FROM_FOCUSABLE(根据是否可以获得焦点决定),
INPUT_METHOD_NEEDED(允许输入法),
INPUT_METHOD_NOT_NEEDED(不允许输入法)。
当popup window中包含EditText时可能会涉及这方面,可能是出现输入法显示在popup window后面,导致无法输入的问题,可以修改焦点和这里。*/
 public void setInputMethodMode(int mode)
 
//监听 PopupWindow关闭的事件
 public void setOnDismissListener(OnDismissListener onDismissListener)
 
//设置 点击 PopupWindow意外区域,隐藏 popupWindow  然而并没有什么卵用
 public void setOutsideTouchable(boolean touchable) 
 
// PopupWindow触摸时的监听回调
 public void setTouchInterceptor(OnTouchListener l)
 
//设置 PopupWindow是否可触摸
 public void setTouchable(boolean touchable)
 
//设置 popwindow 的宽度
 public void setWidth(int width)
 
//设置 PopupWindow布局类型
  public void setWindowLayoutType(int layoutType)
  
//设置 PopupWindow 在某个控件的下方,某控件的左下角与 PopupWindow 的左上角对齐
public void showAsDropDown(View anchor)

//设置 PopupWindow 在某个控件的下方,某控件的左下角与 PopupWindow 的左上角对齐,可以设置偏移量 向左为副 ,向右为正;向上为负,向下为正
 public void showAsDropDown(View anchor, int xoff, int yoff) 
 
//设置 PopupWindow 在相当于父布局进行摆放,可以设置偏移量。
public void showAtLocation(View parent, int gravity, int x, int y)

//隐藏 PopupWindow 
public void dismiss()

## 获取方法
//获取 PopupWindow 动画样式
 public int getAnimationStyle()
 
//获取 PopupWindow 背景
 public Drawable getBackground() 
 
//获取 PopupWindow 设置的 view 返回一个view对象
 public View getContentView() 
 
//获得 PopupWindow 的悬浮高度
 public float getElevation() 
 
//获取 PopUpWindow 的入场动画
 public float getElevation() 
 
//获取 PopupWindow 的出场动画
public Transition getExitTransition()

//获取 PopupWindow 的高度
public int getHeight() 

//获取输入模式
public int getInputMethodMode() 

//获取 PopupWindow 是否应该与寄生(不太合理但是不知道用啥词)对象重叠
public boolean getOverlapAnchor()

//获取 Popwindow 的宽度
 public int getWidth()
 
//获取 PopupWindow 的布局类型
 public int getWindowLayoutType() 

//获取可以让 PopupWindow 设置的最大高度
public int getMaxAvailableHeight(View anchor)

public int getMaxAvailableHeight(View anchor, int yOffset) 
//获取可以设置 PopupWindow 的最大高度,可以忽略软键盘。
public int getMaxAvailableHeight(View anchor, int yOffset, boolean ignoreBottomDecorations)


##判断方法
//判断 PopupWindow 是否在超出父布局
public boolean isAboveAnchor() 

// 判断 PopupWindow 是否在父布局的 装饰上
public boolean isAttachedInDecor()

//判读 PopupWindow 是否可以超出窗口
public boolean isClippingEnabled()

//判断 PopupWindow 是否可以获取焦点
public boolean isFocusable()

//判断 PopupWindow 是否相应自身以外的点击事件
public boolean isOutsideTouchable()

//判断 PopupWindow 是否展示
public boolean isShowing()

//判断 PopupWindow 是否支持多点触控
public boolean isSplitTouchEnabled()

//判断 PopupWindow 是否支持触摸事件
public boolean isTouchable()


##更新位置或更新内容的方法
//更新当前 PopupWindow
public void update() 

//更新 Popwindow 到新的形态  参数:长度、宽度
public void update(int width, int height) 

//更新 Popwindow 到新的位置、新的形态  参数:新位置的坐标,长度、宽度
public void update(int x, int y, int width, int height)

//同上
public void update(int x, int y, int width, int height, boolean force)

//相对于宿主 更新体型
public void update(View anchor, int width, int height)

//相对宿主更新 大小 位置
public void update(View anchor, int xoff, int yoff, int width, int height) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值