美文网首页
Dialog 接口回调练习

Dialog 接口回调练习

作者: lx0306 | 来源:发表于2016-11-14 14:44 被阅读0次

主方法中只是调用

private void showpop(View v ){
        View pv = View.inflate(this,R.layout.popwindow, null);
        TextView tv_photo = (TextView)pv.findViewById(R.id.tv_msg);
        final PopupWindow pop = new PopupWindow(pv, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        
        pop.setOutsideTouchable(true);
        pop.setBackgroundDrawable(new ColorDrawable(0*00000000));
        
        pop.setFocusable(true);
        tv_photo.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                
                Toast.makeText(MainActivity.this,"拍照",Toast.LENGTH_SHORT).show();
                pop.dismiss();      
                
            }
        });
        
    }

重新写一个类

    private Context context;
    private String msg ;
    private String btnConfirm ;
    private String btnCancel ;
    private TextView tv_msg ;
    private Button btn_confirm ;
    private Button btn_cancel ;
    
    public MyDialig(Context context,String msg,String btnConfirm,String btnCancel) {

        super(context,R.style.mydialog);
        // TODO Auto-generated constructor stub
        this.context = context;
        this.msg = msg ;
        this.btnCancel = btnCancel;
        this.btnConfirm = btnConfirm;
    }
 
    private MyClickListener listener ;

创建一个接口

    public interface MyClickListener{
        public void confirm() ;
        public void cancel() ;  
    }

给接口赋值

    public void setClickListener    (MyClickListener listener){
        this.listener = listener;

    }      

      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.text1);
            tv_msg = (TextView)findViewById(R.id.tv_msg);
            btn_confirm =(Button)findViewById(R.id.btn_confirm);
            btn_cancel = (Button)findViewById(R.id.btn_cancel);
            
            tv_msg.setText(msg);
            btn_cancel.setText(btnCancel);
            btn_confirm.setText(btnConfirm);
            
            btn_cancel.setOnClickListener(this);
            btn_confirm.setOnClickListener(this);

设置Dialog大小

            Window windows = getWindow();

WindowManager主要用来管理窗口的一些状态、属性

            WindowManager wm = ((Activity)context).getWindowManager();

获取当前对话框的参数值
设置和获得当前窗口的一些属性

   WindowManager.LayoutParams params =windows.getAttributes(); 

设置窗口显示的位置

            windows.setGravity(Gravity.CENTER);

获取屏幕的宽高

            Display display = wm.getDefaultDisplay();

把屏幕的宽度设为0.6

            params.width = (int) (display.getWidth()*0.6);
            windows.setAttributes(params);       
      }
  @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

触发主方法中的 方法

            switch (v.getId()) {
            case R.id.btn_confirm:
                listener.confirm();
                dismiss();      
                break;
            case R.id.btn_cancel:
                listener.cancel();
                dismiss();
                break;
            }
        }
     }

相关文章

  • Dialog 接口回调练习

    主方法中只是调用 重新写一个类 创建一个接口 给接口赋值 设置Dialog大小 WindowManager主要用来...

  • 玩转自定义dialog

    分析:《1》加载根布局 onCreate中setContentView《2》使用接口回调dialog和activi...

  • Android创建阻塞式模态对话框Dialog-Loop的实现方

    由于Android的Dialog是非阻塞的方式,每次弹出一个输入框或确认操作框都需要实现回调接口和处理回调方法。某...

  • Kotlin使用接口回调

    1.Java中的接口回调实现(支持多方法回调) 声明回调接口,初始化接口 使用接口回调(无参数) 使用接口回调(带...

  • Java回调深入理解

    1 接口回调 1.1 接口回调概念 什么是接口回调接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声...

  • vue 弹框

    数据互传 弹出状态检测 回调 list form dialog

  • Android Module之间数据传递

    方法一:使用接口回调 (1)在子module创建回调接口(参数可变) (2)在子module 实现类设置接口回调 ...

  • Android 友盟推送 不重要消息解决方案

    在dealWithNotificationMessage 方法回调中弹出一个dialog

  • Dialog 回调问题

    问题: 今天的需求是点击TextView 弹出一个dialog dialog里面是个list 点击item d...

  • Android接口回调

    之前对接口回调一直有点模糊,会写但是理解的不透彻,今天记录一下自己理解的回调是什么。 接口回调是什么? 接口回调是...

网友评论

      本文标题:Dialog 接口回调练习

      本文链接:https://www.haomeiwen.com/subject/rwphpttx.html