Android之自定义Dialog(Layout引入布局)

Dialog

Dialog实现方式有很多中,引入layout布局的方式最好排版使用,简单易懂,我喜欢哈哈。

需要准备两个class,两个layout文件。
先写一个XXDialog的类继承自Diglog。
然后新建编写弹窗的layout文件。
再在主方法的layout中写一个按钮用来启动弹窗。
最后在主方法中写 XXDialog dialog = new XXDialog(this); dialog.show();调用启动弹窗。

实现效果:
Android之自定义Dialog(Layout引入布局)_第1张图片

Android之自定义Dialog(Layout引入布局)_第2张图片

XXDialog代码:

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;

class XXDialog extends Dialog {
    public XXDialog(Context context) {
        super(context);
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View view = View.inflate(getContext(),R.layout.btn_one,null);
        setContentView(view);
    }
}

弹窗的布局:
Android之自定义Dialog(Layout引入布局)_第3张图片

MainActivity代码:


import android.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       findViewById(R.id.btn_one).setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_one:
                ErrorDialog dialog = new ErrorDialog(this); dialog.show();
                dialog.setTitle("sssss");
                break;

        }
    }
}

你可能感兴趣的:(Android)