您的位置:首页 > 移动开发 > Android开发

Android Dialog的用法

2011-05-06 10:35 197 查看
今天学习了Dialog的内容,产生Dialog是有一定步骤的,具体要用到几个方法。下面是一个例子,具体来说明。
package com.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Activity_main extends Activity {
/** Called when the activity is first created. */
public static final int DIALOG1 = 1;
public static final int DIALOG2 = 2;
public static final int DIALOG3 = 3;
public static final int DIALOG4 = 4;

Button button1 ;
Button button2 ;
Button button3 ;
Button button4 ;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findView();
action();
}

private void findView(){
button1 = (Button)this.findViewById(R.id.button1);
button2 = (Button)this.findViewById(R.id.button2);
button3 = (Button)this.findViewById(R.id.button3);
button4 = (Button)this.findViewById(R.id.button4);
}

private void action(){
button1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DIALOG1);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
switch (id){
case DIALOG1:
return this.buildDialog1(DIALOG1);
case DIALOG2:
return this.buildDialog2(DIALOG2);
case DIALOG3:
return this.buildDialog3(DIALOG3);
case DIALOG4:
return this.buildDialog4(DIALOG4);
}

return super.onCreateDialog(id);
}

private Dialog buildDialog4(int id) {
// TODO Auto-generated method stub
return null;
}
private Dialog buildDialog3(int id) {
// TODO Auto-generated method stub
return null;
}
private Dialog buildDialog2(int id) {
// TODO Auto-generated method stub
return null;
}
private Dialog buildDialog1(int id) {
// TODO Auto-generated method stub
AlertDialog.Builder builder= new AlertDialog.Builder(this);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_two_buttons_title);
builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("点击了确认按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("点击了取消按钮");
}
});
return builder.create();
}

}


从用到的方法也可以看得出构建一个Dialog的步骤来了。

用户可以直接调用的方法就是showDialog()和DismissDialog()这两个,前者是用来显示对话框的,后者是用来消失对话框的。其它的方法都是系统到适当的时候进行调用,开发都可能看不到哪个方法使用到了他们但是他们确实已经起到了相关的作用,就是这个原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: