Dialog的四种用法

 对话框Dialog在android基本用法很多种简单介绍一下以下四种用法

 Button btn1;
 Button btn2;
 Button btn3;
 Button btn4;

 final int DIALOG_ONE=1;
 final int DIALOG_TWO=2;

    btn1= (Button)findViewById(R.id.button1);
        btn2= (Button)findViewById(R.id.button2);
        btn3= (Button)findViewById(R.id.button3);
        btn4= (Button)findViewById(R.id.button4);

第一种简单的点击事件:

 btn1.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Dialog dlg;//1定义Dialog对话框
    Builder bd;/2/定义构建器
    bd = new AlertDialog.Builder(DialogProjectActivity.this);
    bd.setTitle("标题");
    bd.setMessage("消息");
    bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
     
     public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      
     }
    });
    
    dlg = bd.create();//3创建构建器并将其内容赋给对话框
    dlg.show();//4显示对话框
    
   }
  });

第二个自定义函数实现:

       btn2.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
   MyDialog().show(); 
   }

   private Dialog MyDialog() {
    // TODO Auto-generated method stub
    Dialog dlg;
    Builder bd;
    bd = new AlertDialog.Builder(DialogProjectActivity.this);
    bd.setTitle("标题");
    bd.setMessage("消息");
    bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
     
     public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      
     }
    });
    
    dlg = bd.create();
  
    return dlg;
   }
  });

第三种重写OncreateDialog(int)方法:

定义重写

 @Override
 protected Dialog onCreateDialog(int id) {
  // TODO Auto-generated method stub

  Dialog dlg;
  Builder bd = null;
  switch(id)
  {
  case DIALOG_ONE:
   bd = new AlertDialog.Builder(DialogProjectActivity.this);
   bd.setTitle("标题");
   bd.setMessage("消息");
   bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
    
    public void onClick(DialogInterface dialog, int which) {
     // TODO Auto-generated method stub
     
    }
   });
   
  
   break;
  case DIALOG_TWO:
   bd = new AlertDialog.Builder(DialogProjectActivity.this);
   bd.setTitle("标题");
   bd.setMessage("消息");
   bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
    
    public void onClick(DialogInterface dialog, int which) {
     // TODO Auto-generated method stub
     
    }
   });
   
  
   break;
  
  }
  
   dlg = bd.create();
   dlg.show();
  return dlg;
 }

实现

  btn3.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    showDialog(DIALOG_TWO);
   }
  });

第四种自定义实现类:


public class DialogTest extends Dialog {

 public DialogTest(Context context) {
  super(context);
  // TODO Auto-generated constructor stub
 }

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.dialog);
 }

}

 btn4.setOnClickListener(new OnClickListener() {
  
  public void onClick(View v) {
   // TODO Auto-generated method stub
   DialogTest dt = new DialogTest(DialogProjectActivity.this);
   dt.show();
  }
 })   ;

猜你喜欢

转载自blog.csdn.net/kekezezeguoguo/article/details/7377581
今日推荐