(安卓) PopupWindow 类似微信的右上角+ 号 的功能

上图看效果:

(安卓) PopupWindow 类似微信的右上角+ 号 的功能_第1张图片


单击事件触发popupwindow :

   name = (TextView) findViewById(R.id.atextView);

        name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPopupWindow();
            }
        });



上代码:


  private void showPopupWindow() {

         //找到布局文件
        View context = View.inflate(MainActivity.this, R.layout.popup,null);
        //布局文件里面的控件
        dai = (TextView) context.findViewById(R.id.p_dai);
        yizhifu = (TextView) context.findViewById(R.id.p_yi);
        quxiao = (TextView) context.findViewById(R.id.p_qu);
        //给控件设置点击事件
        dai.setOnClickListener(this);
        yizhifu.setOnClickListener(this);
        quxiao.setOnClickListener(this);

        //popupwindow对象
        popu = new PopupWindow(context, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        //显示方法
        //popu.showAsDropDown(bu);//显示在某个控件下方
        //popu.showAsDropDown(bu,100,50);//显示在某个控件下方并可以设置偏移量
               //一些属性
        popu.setFocusable(true);//可获取焦点

        popu.setOutsideTouchable(true);//设置外部区域是否可点击

    	ColorDrawable colorDrawable = new ColorDrawable(Color.TRANSPARENT);

        popu.setBackgroundDrawable(colorDrawable);//设置透明背景

       //设置在某个控件的某个地方
        popu.showAtLocation(name, Gravity.RIGHT|Gravity.TOP,100,200);



    }


控件的点击事件:

 
    //在这里面可以写一些点击后触发 的功能效果,一些逻辑事件
    @Override
    public void onClick(View view) {

        switch (view.getId()){
            case R.id.p_dai:
                Toast.makeText(this, "待支付", Toast.LENGTH_SHORT).show();
                //设置背景颜色
                dai.setBackgroundColor(Color.RED);
                //当点击控件后关闭
                popu.dismiss();
                break;
            case R.id.p_yi:
                Toast.makeText(this, "已支付", Toast.LENGTH_SHORT).show();
                popu.dismiss();
                break;
            case R.id.p_qu:
                Toast.makeText(this, "已取消", Toast.LENGTH_SHORT).show();
                popu.dismiss();
                break;
        }
    }



你可能感兴趣的:(Android)