Android学习笔记22——PopupWindow

PopupWindow

PopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作,但它与Dialog又有很大的区别,PopupWindow只是弹出窗口,不会使宿主Activity组件失去焦点,也就是说PopupWindow弹出后,你仍可以与宿主Activity进行交互,Dialog却不能做到这一点。

常用构造方法

public PopupWindow(Context context);
//给定一个上下文,当我们设置了setOutsideTouchable为true时,在触摸到弹框外部后自动关闭。但是这个构造方法必须去指定显示的布局,布局的宽高,焦点
public PopupWindow(View contentView, int width, int height, boolean focusable)
//给定一个布局。宽,高和焦点,但是在了setOutsideTouchable为true时,
//触摸到弹框外部也不能自动关闭,必须去指定背景,
//一般使用window.setBackgroundDrawable(new ColorDrawable(0x00000000))

常用方法

setOutsideTouchable(boolean);//指定设置显示PopuWindow之后在外面点击是否有效。

setFocusable(boolean);       //指定是否获取焦点

setBackgroundDrawable(new ColorDrawable(0));//没有上下文时必须指定,否setOutsideTouchable无效

showAsDropDown(anchor, 0, 0);//设置显示PopupWindow的位置位于View的左下方,x,y表示坐标偏移量

showAtLocation(findViewById(R.id.parent), Gravity.LEFT, 0, -90);
//(以某个View为参考),表示弹出窗口以parent组件为参考,位于左侧,偏移-90。

setOnDismissListenerd(new PopupWindow.OnDismissListener(){})//设置窗口消失事件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值