Android入门之AlertDialog(纯Java)


          

  1. import Android.app.Activity;  
  2. import android.app.AlertDialog;  
  3. import android.content.DialogInterface;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.*;  
  8.   
  9. public class AlertDialogTest extends Activity {  
  10.       
  11.     private LinearLayout mainView=null;  
  12.     private Button button1=null;  
  13.     private Button button2=null;  
  14.     private Button button3=null;  
  15.     private Button button4=null;  
  16.       
  17.     private AlertDialog ad1=null;  
  18.     private AlertDialog ad2=null;  
  19.     private AlertDialog ad3=null;  
  20.     private AlertDialog ad4=null;  
  21.       
  22.     public void onCreate(Bundle savedInstanceState) {  
  23.         super.onCreate(savedInstanceState);  
  24.         mainView_init();  
  25.         setContentView(mainView);  
  26.     }  
  27.     /*button1初始化*/  
  28.     void button1_init(){  
  29.         button1=new Button(this);  
  30.         button1.setLayoutParams(new LinearLayout.LayoutParams(-2,-2));  
  31.         button1.setTextSize(button1.getTextSize()+5);  
  32.         button1.setText("1个按键的对话框");  
  33.         button1.setOnClickListener(new OnClickListener(){  
  34.             public void onClick(View v) {  
  35.                 if(ad1==null){  
  36.                     ad1_init();  
  37.                 }  
  38.                 ad1.show();  
  39.             }  
  40.         });  
  41.     }  
  42.     /*button2初始化*/  
  43.     void button2_init(){  
  44.         button2=new Button(this);  
  45.         button2.setLayoutParams(new LinearLayout.LayoutParams(-2,-2));  
  46.         button2.setTextSize(button1.getTextSize()+5);  
  47.         button2.setText("2个按键的对话框");  
  48.         button2.setOnClickListener(new OnClickListener(){  
  49.             public void onClick(View v) {  
  50.                 if(ad2==null){  
  51.                     ad2_init();  
  52.                 }  
  53.                 ad2.show();  
  54.             }  
  55.         });  
  56.     }  
  57.     /*button3初始化*/  
  58.     void button3_init(){  
  59.         button3=new Button(this);  
  60.         button3.setLayoutParams(new LinearLayout.LayoutParams(-2,-2));  
  61.         button3.setTextSize(button1.getTextSize()+5);  
  62.         button3.setText("3个按键的对话框");  
  63.         button3.setOnClickListener(new OnClickListener(){  
  64.             public void onClick(View v) {  
  65.                 if(ad3==null){  
  66.                     ad3_init();  
  67.                 }  
  68.                 ad3.show();  
  69.             }  
  70.         });  
  71.     }  
  72.     /*button4初始化*/  
  73.     void button4_init(){  
  74.         button4=new Button(this);  
  75.         button4.setLayoutParams(new LinearLayout.LayoutParams(-2,-2));  
  76.         button4.setTextSize(button1.getTextSize()+5);  
  77.         button4.setText("自定义View对话框");  
  78.         button4.setOnClickListener(new OnClickListener(){  
  79.             public void onClick(View v) {  
  80.                 if(ad4==null){  
  81.                     ad4_init();  
  82.                 }  
  83.                 ad4.show();  
  84.             }  
  85.         });  
  86.     }  
  87.     /*mainView初始化*/  
  88.     void mainView_init(){  
  89.         mainView=new LinearLayout(this);  
  90.         mainView.setLayoutParams(new LinearLayout.LayoutParams(-1,-1));  
  91.         mainView.setOrientation(LinearLayout.VERTICAL);  
  92.         button1_init();  
  93.         button2_init();  
  94.         button3_init();  
  95.         button4_init();  
  96.         mainView.addView(button1);  
  97.         mainView.addView(button2);  
  98.         mainView.addView(button3);  
  99.         mainView.addView(button4);  
  100.     }  
  101.     /*ad1初始化*/  
  102.     void ad1_init(){  
  103.         AlertDialog.Builder builder=new AlertDialog.Builder(this);  
  104.         builder.setIcon(android.R.drawable.ic_menu_info_details);  
  105.         builder.setTitle("这是标题");  
  106.         builder.setPositiveButton("知道了"new DialogInterface.OnClickListener() {  
  107.             public void onClick(DialogInterface dialog, int which) {  
  108.                 ad1.dismiss();//此处可以添加你要执行的其他程序   
  109.             }  
  110.         });  
  111.         ad1=builder.create();  
  112.     }  
  113.     /*ad2初始化*/  
  114.     void ad2_init(){  
  115.         AlertDialog.Builder builder=new AlertDialog.Builder(this);  
  116.         builder.setIcon(android.R.drawable.ic_dialog_alert);  
  117.         builder.setTitle("这是标题");  
  118.         builder.setMessage("这是内容,带两个按键");  
  119.         builder.setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  120.             public void onClick(DialogInterface dialog, int which) {  
  121.                 //此处可以添加你要执行的其他程序   
  122.                 ad1.dismiss();//关闭Dialog   
  123.             }  
  124.         });  
  125.         builder.setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  126.             public void onClick(DialogInterface dialog, int which) {  
  127.                 //此处可以添加你要执行的其他程序   
  128.                 ad2.dismiss();//关闭Dialog   
  129.             }  
  130.         });  
  131.         ad2=builder.create();  
  132.     }  
  133.     /*ad3初始化*/  
  134.     void ad3_init(){  
  135.         AlertDialog.Builder builder=new AlertDialog.Builder(this);  
  136.         builder.setIcon(android.R.drawable.ic_menu_help);  
  137.         builder.setTitle("这是标题");  
  138.         builder.setMessage("这是内容,带三个按键。");  
  139.         builder.setPositiveButton("Positive"new DialogInterface.OnClickListener() {  
  140.             public void onClick(DialogInterface dialog, int which) {  
  141.                 //此处可以添加你要执行的其他程序   
  142.                 ad3.dismiss();//关闭Dialog   
  143.             }  
  144.         });  
  145.         builder.setNeutralButton("Neutral"new DialogInterface.OnClickListener() {  
  146.             public void onClick(DialogInterface dialog, int which) {  
  147.                 //此处可以添加你要执行的其他程序   
  148.                 ad3.dismiss();//关闭Dialog   
  149.             }  
  150.         });  
  151.         builder.setNegativeButton("Negative"new DialogInterface.OnClickListener() {  
  152.             public void onClick(DialogInterface dialog, int which) {  
  153.                 //此处可以添加你要执行的其他程序   
  154.                 ad3.dismiss();//关闭Dialog   
  155.             }  
  156.         });  
  157.         ad3=builder.create();  
  158.     }  
  159.     /*ad1初始化*/  
  160.     void ad4_init(){  
  161.         AlertDialog.Builder builder=new AlertDialog.Builder(this);  
  162.         builder.setIcon(android.R.drawable.ic_menu_edit);  
  163.         builder.setTitle("请输入用户名和密码");  
  164.         //自定义View——mainLayout   
  165.         LinearLayout mainLayout=new LinearLayout(this);  
  166.         mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1,-2));  
  167.         mainLayout.setOrientation(LinearLayout.VERTICAL);  
  168.         LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-1,-2);  
  169.         lp.setMargins(20,0,20,0);  
  170.         TextView tv1=new TextView(this);  
  171.         tv1.setLayoutParams(lp);  
  172.         tv1.setText("用户名:");  
  173.         EditText et1=new EditText(this);  
  174.         et1.setLayoutParams(lp);  
  175.         TextView tv2=new TextView(this);  
  176.         tv2.setLayoutParams(lp);  
  177.         tv2.setText("密码:");  
  178.         EditText et2=new EditText(this);  
  179.         et2.setLayoutParams(lp);  
  180.         mainLayout.addView(tv1);  
  181.         mainLayout.addView(et1);  
  182.         mainLayout.addView(tv2);  
  183.         mainLayout.addView(et2);  
  184.         //   
  185.         builder.setView(mainLayout);  
  186.         builder.setPositiveButton("知道了"new DialogInterface.OnClickListener() {  
  187.             public void onClick(DialogInterface dialog, int which) {  
  188.                 //此处可以添加你要执行的其他程序   
  189.                 ad1.dismiss();//关闭Dialog   
  190.             }  
  191.         });  
  192.         ad4=builder.create();  
  193.     }  
  194. }  

相关内容