Android PopupWindow 弹框

本文详细介绍Android中PopupWindow组件的创建及显示方法,并提供多种实例帮助理解如何设置其外观与交互特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
          }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值