实现步骤:
第一步:自定义.xml布局文件
第二步:获取layoutInflater对象
第三步:调用inflater()方法获取View对象
第四步:调用Builder对象的setView()方法设置View
第五步:获取输入内容或者监听事件等
默认布局文件:.xml:
.java:
package com.example.catalogin;
import android.app.Dialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main2);
}
Dialog dialog;
public void onclick(View v){
LayoutInflater inflater=LayoutInflater.from( this );
View myview=inflater.inflate(R.layout.catalogin,null);//引用自定义布局
AlertDialog.Builder builder=new AlertDialog.Builder( this );
builder.setView( myview );
dialog=builder.create();//创建对话框
dialog.show();//显示对话框
myview.findViewById(R.id.but).setOnClickListener( new View.OnClickListener() {//获取布局里面按钮
@Override
public void onClick(View v) {
dialog.dismiss();//点击按钮对话框消失
Toast.makeText( Main2Activity.this, "点击了残忍离开", Toast.LENGTH_SHORT ).show();
}
} );
}
}
点击对话框