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

好记性不如烂笔杆-android学习笔记<十> Dialog用法

2012-11-21 10:11 260 查看
22,//Dialog用法,7个小例子
<1>//main.xml

View Code

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="@string/username"
/>
<EditText
android:id="@+id/usernameEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:capitalize="none"
/>
<TextView
android:id="@+id/passward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="@string/passward"
/>
<EditText
android:id="@+id/passwardEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:password="true"
android:capitalize="none"
/>
</LinearLayout>


<2>//Java文件

public class DialogActivity extends Activity {
private Button mtwoButton = null;
private Button mthreeButton = null;
private Button minputButton = null;
private Button mscrollButton = null;
private Button radioButton = null;
private Button checkButton = null;
private Button listButton = null;
private static final int DIALOG1 = 0;
private static final int DIALOG2 = 1;
private static final int DIALOG3 = 2;
private static final int DIALOG4 = 3;
private static final int DIALOG5 = 4;
private static final int DIALOG6 = 5;
private static final int DIALOG7 = 6;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mtwoButton = (Button)findViewById(R.id.Two_but);
mthreeButton = (Button)findViewById(R.id.Three_but);
minputButton = (Button)findViewById(R.id.putIn_but);
mscrollButton = (Button)findViewById(R.id.scroll_but);
radioButton = (Button)findViewById(R.id.radio_but);
checkButton = (Button)findViewById(R.id.check_but);
listButton = (Button)findViewById(R.id.list_but);

mtwoButton.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
showDialog(DIALOG1);
}

});
mthreeButton.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
showDialog(DIALOG2);
}

});
minputButton.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
showDialog(DIALOG3);
}

});
mscrollButton.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
showDialog(DIALOG4);
}

});
radioButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
showDialog(DIALOG5);
}
});
checkButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
showDialog(DIALOG6);
}
});
listButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
showDialog(DIALOG7);
}
});
}
protected Dialog onCreateDialog(int id){
switch(id){
case DIALOG1:
return buildDialog1(DialogActivity.this);
case DIALOG2:
return buildDialog2(DialogActivity.this);
case DIALOG3:
return buildDialog3(DialogActivity.this);
case DIALOG4:
return buildDialog4(DialogActivity.this);
case DIALOG5:
return buildDialog5(DialogActivity.this);
case DIALOG6:
return buildDialog6(DialogActivity.this);
case DIALOG7:
return buildDialog7(DialogActivity.this);
}
return null;
}
private Dialog buildDialog1(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_two_button_title);
builder.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击对话框上的确定按钮");

}
});
builder.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击了对话框上的取消按钮");
}
});

return builder.create();
}
private Dialog buildDialog2(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_two_button_msg);
builder.setMessage(R.string.alert_dialog_two_button2_msg);
builder.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击对话框上的确定按钮");

}
});
builder.setNeutralButton(R.string.alert_dialog_something,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("点击了对话框中的详情按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击了对话框上的取消按钮");
}
});

return builder.create();
}
private Dialog buildDialog3(Context context){
LayoutInflater inflater = LayoutInflater.from(this);
//引用其他xml文件中的内容
final View textEntryView = inflater.inflate(R.layout.alert_dialog_text_entry, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_entry_title);
builder.setView(textEntryView);//把View放到Dialog中,关键所在
builder.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击对话框上的确定按钮");

}
});
builder.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
setTitle("单击了对话框上的取消按钮");
}
});

return builder.create();
}
private Dialog buildDialog4(Context context){
ProgressDialog dialog = new ProgressDialog(context);
dialog.setTitle("正在下载歌曲");
dialog.setMessage("请稍候…………");
return dialog;
}
private Dialog buildDialog5(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_radio_title);
builder.setSingleChoiceItems(new String[] { "Item1", "Item2" }, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setNegativeButton("取消", null).show();
return builder.create();
}
private Dialog buildDialog6(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_check_title);
builder.setMultiChoiceItems(new String[] { "Item1", "Item2" }, null,null);
builder.setNegativeButton("确定",null).show();
builder.setPositiveButton("取消",null).show();
return builder.create();
}
private Dialog buildDialog7(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_item_title);
builder.setItems(new String[] { "Item1", "Item2" }, null);
builder.setNegativeButton("确定",null).show();
builder.setPositiveButton("取消",null).show();

return builder.create();
}
protected void onPrepareDialog(int id,Dialog diallog){
if(id == DIALOG1){
setTitle("测试");
}
}
}


忘记截图了,呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: