zoukankan      html  css  js  c++  java
  • android PopupWindow的详细说明

           今天主要是对PopupWindow的总结,如有不对之处,还请提出。

           PopupWindow 说白点就是个弹出框, 和Dialog相似,它的好处是可以根据需要设置自己要弹出的位置;布局更加灵活

    一:PopupWindow的使用步骤

    1:先创建一个PopupWindow实例

         PopupWindow(View contentView, int width, int height)(这只是其中一个构造方法)

         参数contentView是popupWindow中要放的布局,参数width和height是popupWindow的宽和高

         注意点:官方的说明,当不传递width,height参数时,构造出来的popupWindow的dimension只有0*0,看不见弹出框,不要忘记!

    例如:new PopupWindow(getLayoutInflater().inflate(R.layout.pop, null),

                        LayoutParams. WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

    2:   设置其弹出的位置

    具体就两种方式:showAsDropDown 和 showAtLocation

       1:   showAsDropDown(View anchor, int xoff, int yoff)       

                以anchor的左下角为参照点,定义偏移   即相当于以anchor的左下角定点为二维坐标系的原点,向右为正x,向下为正y

       2:showAtLocation(View parent, int gravity, int x, int y)     

                以parent为主容器,gravity为对齐参照点,定义偏移(参照点上面时是向右是为正X,向下为正Y;在下面时,向右为正X,向上为正Y。

    ***其中的方法update是用来重新设置PopupWindow的高和宽的,以及它的位置

    二:使用时的注意点

    1: popupWindow.setBackgroundDrawable(new BitmapDrawable()); 这句话不设PopupWindow之外的区域后, PopupWindow不会消失


  • 相关阅读:
    ajax原理和XmlHttpRequest对象
    在vue项目中 如何定义全局变量 全局函数
    杂乱知识 -- 记录工作或学习中遇到的一些点
    JavaScript中的数组遍历forEach()与map()方法以及兼容写法
    cookie的存取删
    微信小程序中公用内容
    mysql 多实例
    yum 安装和卸载
    rpm 安装卸载
    git blame
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3109068.html
Copyright © 2011-2022 走看看