第26讲 对话框AlertDialog的自定义实现

26讲对话框AlertDialog的自定义实现

比如我们在开发过长当中,要通过介绍系统发送的一个广播弹出一个dialog。但是dialog必需是基于activity才能呈现出来,如果没有activity的话,程序就会崩溃。所以我们可以写一个自定义的dialog,把它定义成一个activity。这样我们收到一条打开dialog的广播后,直接启动这个activity,程序正常运行~~ 

自定义dialog能让开发者做出自己五彩缤纷的Activity,而不用去使用系统枯燥的界面。

使用LayoutInflater把自定义的view放入AlertDialog当中进行显示。

 

public void test5(Viewview) {

AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this);   

LayoutInflater factory = LayoutInflater.from(this);  

final View textEntryView = factory.inflate(R.layout.test, null);  

builder.setIcon(R.drawable.icon);  

 

builder.setTitle("自定义输入框");  

builder.setView(textEntryView);  

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {  

public void onClick(DialogInterface dialog, int whichButton) {  

EditText userName = (EditText) textEntryView.findViewById(R.id.etUserName);  

EditText password = (EditText) textEntryView.findViewById(R.id.etPassWord);  

showDialog("姓名 :"  + userName.getText().toString()  + "密码:" + password.getText().toString() );  

}  

});  

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {  

public void onClick(DialogInterface dialog, int whichButton) {  

  

}  

});  

builder.create().show();  

}

 

posted on 2014-11-14 12:28  anyuan9  阅读(137)  评论(0编辑  收藏  举报

导航