好记性不如烂笔杆-android学习笔记<十> Dialog用法
2012-11-21 10:11
260 查看
22,//Dialog用法,7个小例子
<1>//main.xml
View Code
<2>//Java文件
忘记截图了,呵呵
<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("测试"); } } }
忘记截图了,呵呵
相关文章推荐
- 好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
- 好记性不如烂笔杆-android学习笔记<八> Broadcase简单用法
- 好记性不如烂笔杆-android学习笔记<五> ListView用法
- 好记性不如烂笔杆-android学习笔记<七>Handle用法
- 好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
- 好记性不如烂笔杆-android学习笔记<九> Content Provider 数据共享机制
- 好记性不如烂笔杆-android学习笔记<一>
- 好记性不如烂笔杆-android学习笔记<十一> Service的应用
- 好记性不如烂笔杆-android学习笔记<十四> EditText 画行,解决光标压线问题
- 好记性不如烂笔杆-android学习笔记<十二> Toast的使用
- 好记性不如烂笔杆-android学习笔记<二> Acitvity lifecycle 生命周期
- 好记性不如烂笔杆-android学习笔记<十三> Notification
- 好记性不如烂笔杆-android学习笔记<三> RadioGroup 和 CheckBox的使用
- 好记性不如烂笔杆-android学习笔记<四> 布局用控件简单介绍
- <AlertDialog>的简单用法与功能
- <ProgerssDialog>功能与用法
- 好记性不如烂笔头-手动编译jar包<转>
- Android实战简易教程<六>(各种对话框Dialog用法研究大全)
- 好记性不如烂笔杆-android学习笔记<六> ProgressBar简单使用
- 好记性不如烂笔杆------Android开发--android绘制文本