android学习笔记34:自定义对话框2

之前我们使用SimpleAdapter创建了一个自定义的对话框,android还允许我们在对话框中显示指定的xml文件,从而实现自定义对话框的效果。

单击按钮,弹出自定义的登录对话框。


对话框中所显示的XML文件




    

        
        

        
    

    

        
        

        
    

    

        
        

        
    

    

getLayoutinflate.inflate方法得到我们要显示的xml文件,再用builder.setView方法将取出来的xml文件装载进对话框中

public class LoginDialog extends Activity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button bn = (Button)findViewById(R.id.bn);
		//定义一个AlertDialog.Builder对象
		final Builder builder = new AlertDialog.Builder(this);
		//为按钮绑定事件监听器
		bn.setOnClickListener(new View.OnClickListener()
		{
			@Override
			public void onClick(View source)
			{
				// 设置对话框的图标
				builder.setIcon(R.drawable.tools);
				// 设置对话框的标题
				builder.setTitle("自定义普通对话框");
				//装载/res/layout/login.xml界面布局
				TableLayout loginForm = (TableLayout)getLayoutInflater()
					.inflate( R.layout.login, null);
				// 设置对话框显示的View对象
				builder.setView(loginForm);
				// 为对话框设置一个“确定”按钮
				builder.setPositiveButton("登录"
					// 为按钮设置监听器
					, new OnClickListener()
					{
						@Override
						public void onClick(DialogInterface dialog, int which)
						{
							//此处可执行登录处理
						}
					});
				// 为对话框设置一个“取消”按钮
				builder.setNegativeButton("取消"
					,  new OnClickListener()
					{
						@Override
						public void onClick(DialogInterface dialog, int which)
						{
							//取消登录,不做任何事情。
						}
					});
				//创建、并显示对话框
				builder.create().show();
			}
		});
	}
}


你可能感兴趣的:(JAVA,Android)