Android PopupWindow 弹框

来源:互联网 发布:淘宝0信誉店铺出售 编辑:程序博客网 时间:2024/05/16 12:58
PopupWindow的创建
* Popupwindow的构造函数* 方式一  public PopupWindow (Context context) * 方式二  public PopupWindow(View contentView) * 方式三  public PopupWindow(View contentView, int width, int height)  * 方式四  public PopupWindow(View contentView, int width, int height, boolean focusable)  

 Android 弹框 PopupWindow 的使用说明
        //1 创建 弹框        /**         * 1.1 创建 对象 (方法一)...         *         */        PopupWindow pop = new PopupWindow(MainActivity.this);        (也就是说 Popwindow 的创建方式有四种 ,需注意的是,无论哪种创建方式来创建,都必须声明所创建Popwindow 的显示View 以及宽与高)            //设置点击弹框外部区域,关闭弹框         //方式一  当点击条目后: 点击外部弹框消失              pop.setOutsideTouchable(true);         //方式二 当点击条目后: 点击外部弹框消失, 点击条目失去焦点,再点击获取焦点         //   pop.setFocusable(true);         //   pop.setTouchable(true);        /**         * 1.2 加载 视图  方法一         */        View view = View.inflate(MainActivity.this,R.layout.item_pop,null);        //加载视图方法二        View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_pop, null);        /**         *1.3 设置视图         */        pop.setContentView(view);        /**         * 1.4 必须设置 弹框显示的 宽度与高度         */        pop.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);        pop.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);        //2 显示 弹框        //显示 方式一   在指定控件的正下方显示        //pop.showAsDropDown(button);        //显示方式二   在指定的控件正下显示        // 参数 二  0   x 轴方向的偏移 ,为0 在正下方, 为正数  向右偏移 , 为负数就向左偏移        // 参数  三  10  y 轴方向的偏移   为正数向下偏移 , 为负数向上偏移        //pop.showAsDropDown(button,0,10);        //显示 方式三        /**         * 注解方式         *  @TargetApi(Build.VERSION_CODES.KITKAT)         */         //  pop.showAsDropDown(button,0,0, Gravity.TOP);        /**         * 显示方式  四         *      相对对于父布局  pop显示的位置         *   参数 二   显示的相对位置         *   参数 三  x 轴方向的偏移         *   参数 四 y 轴方向的偏移         */        pop.showAtLocation(button,Gravity.LEFT,100,0);
*       //要使得弹框消失需在创建时加入(当PopupWindow不为null时 弹框消失  再传入null重复进行)       if (pop !=null){                pop.dismiss();                 pop=null;          }