Android中的对话框表面上看是一个Activity,所以我们可以用XML创建布局,但是对于简单的二次确认、关于等对操作要求比较少的Activity我们没有必要都去创建XML布局,因为Android给我们提供了相应的方法来做这些简单的事情
下面是关于创建对话框的代码
<span style="font-size:18px;"><strong> public class MenuActivity extends Activity{
@override
protected void OnCreate(Bundle SavedInstanceState){//重写OnCreate()方法</strong></span>
<span style="font-size:18px;"><strong> super.OnCreate(SavedInstanceState);</strong></span>
<span style="font-size:18px;"><strong> setContentView(R.layout.activity_menu);//加载主方法布局</strong></span>
<span style="font-size:18px;"><strong> </strong></span>
<span style="font-size:18px;"><strong> about();//调用关于方法</strong></span>
<span style="font-size:18px;"><strong> exit();//退出二次确认方法</strong></span>
<span style="font-size:18px;"><strong>
}</strong></span>
<span style="font-size:18px;"> <strong> public void about(){</strong></span>
<span style="font-size:18px;"><strong> Button btnAbout=(Button)findViewById(R.id.btn_about);</strong></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> btnAbout.setOnClickListener(new OnClickListener(){</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> @override</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> public void onClick(){</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //创建对话框对象</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"></span></span><pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //注意因为AlertDialog类被API隐藏了,所以要用他的内部类来创建对象</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">AlertDialog.Builder builder=new AlertDialog.Builder(MenuActivity.this);</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //添加对话框图标</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"></span></span><pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //对话框标题</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //对话框内容</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">builder.setIcon(R.drawable.ic_launcher).setTitel("关于").setMassager("版权所以,欢迎试玩")</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> </span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //对话框按钮 这里对于参数是按钮的名称,第二个参数是一个点击事件如果没有点击事件,可以写成null;</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">builder.setNegativeButton("返回",null); </span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> //设置显示对话框</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">builder.show();//如果不调用show()方法,创建的对话框将不能显示</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;">/*注意这里的show()是Bulider类的show,其实他是本质是AlertDialog的show(),只是在内部类Buikder中包装了一下</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;"> public AlertDialog show(){</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;"> AlertDialog dialog=creat();</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;"> dialog.show;</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;"> return diallog</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;">}</span>
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;color:#ff6666;">*/</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"> }</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">});</span></span>
<span style="font-size:18px;"> }</span>
<span style="font-size:18px;"><strong>public void exit(){</strong></span>
<span style="font-size:18px;"><strong> Button btnExit=(Button)findViewById(R.id.btn_exit);</strong></span>
<span style="font-size:18px;"><strong>btnExit.setOnClickListener(new OnClickListener(){</strong></span>
<span style="font-size:18px;"><strong> @Override</strong></span>
<span style="font-size:18px;"><strong>public void onClick(View v){</strong></span>
<span style="font-size:18px;"><strong>AlertDialog.Builder builder=new AlertDialog.Builder(MenuActivity.this);</strong></span>
<span style="font-size:18px;"><strong>//创建标题图像//创建标题//创建内容</strong></span>
<span style="font-size:18px;"><strong>builder.setIcon(R.drawable.ic_lanucher).setTitel("退出").setMassager("是否要退出游戏")</strong></span>
<span style="font-size:18px;"><strong>//创建返回按钮</strong></span>
<span style="font-size:18px;"><strong>builder.setNegativeButton("返回",null);</strong></span>
<span style="font-size:18px;"><strong> </strong></span>
<span style="font-size:18px;color:#ff6666;"><strong>//创建退出按钮//注意AlertDialog最多可以创建3个按钮,这是第二个,创建三个按钮的方法是setNeutralButton</strong></span>
<span style="font-size:18px;"><strong>builder.setPositiveButton("退出",new AlertDialog.OnClickListener(){</strong></span>
<span style="font-size:18px;"><strong> @Override</strong></span>
<span style="font-size:18px;"><strong>public void onClick(){</strong></span>
<span style="font-size:18px;"><strong> </strong></span>
<span style="font-size:18px;"><strong> finish();</strong></span>
<span style="font-size:18px;"><strong>} </strong></span>
<span style="font-size:18px;"><strong>});</strong></span>
<span style="font-size:18px;"><strong> </strong></span>
<span style="font-size:18px;"><strong>builder.show(); </strong></span>
<span style="font-size:18px;"><strong>} </strong></span>
<span style="font-size:18px;"><strong>});</strong></span>
<span style="font-size:18px;"><strong>}</strong></span>
<span style="font-size:18px;">}</span>