Android 中的对话框 dialog
对话框对于应用是必不可少的一个组件,在Android中也不例外,用于提示重要信息...
Android提供了丰富的对话框支持,它提供了4种常用的对话框形式:
- AlertDialog:警告对话框,使用最广泛功能最丰富的一个对话框
- ProgressDialog:进度条对话框,只是对进度条进行了简单的封装
- DatePickerDialog:日期对话框
- TimePickerDialog:时间对话框
这里简单介绍 AlertDialog 的使用方法:
activity_main 布局文件
images/loading.gif' data-original="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" />
1 <??> 2 <RelativeLayout ="http://schemas.android.com/apk/res/android" 3 ="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:paddingBottom="@dimen/activity_vertical_margin" 7 android:paddingLeft="@dimen/activity_horizontal_margin" 8 android:paddingRight="@dimen/activity_horizontal_margin" 9 android:paddingTop="@dimen/activity_vertical_margin"10 tools:context="com.dragon.android.alertdialog.MainActivity">11 12 <Button13 android:layout_width="wrap_content"14 android:layout_height="wrap_content"15 android:text="massage"16 android:id="@+id/bt_msg"17 android:layout_alignParentTop="true"18 android:layout_centerHorizontal="true" />19 20 <Button21 android:layout_width="wrap_content"22 android:layout_height="wrap_content"23 android:text="sure"24 android:id="@+id/bt_sure"25 android:layout_below="@+id/bt_msg"26 android:layout_alignRight="@+id/bt_msg"27 android:layout_alignEnd="@+id/bt_msg" />28 29 <Button30 android:layout_width="wrap_content"31 android:layout_height="wrap_content"32 android:text="EditText"33 android:id="@+id/bt_editText"34 android:layout_below="@+id/bt_sure"35 android:layout_alignLeft="@+id/bt_sure"36 android:layout_alignStart="@+id/bt_sure" />37 38 <Button39 android:layout_width="wrap_content"40 android:layout_height="wrap_content"41 android:text="singlechoice"42 android:id="@+id/bt_singleChoice"43 android:layout_below="@+id/bt_editText"44 android:layout_centerHorizontal="true" />45 46 <Button47 android:layout_width="wrap_content"48 android:layout_height="wrap_content"49 android:text="mutichoice"50 android:id="@+id/bt_multiChoice"51 android:layout_below="@+id/bt_singleChoice"52 android:layout_centerHorizontal="true" />53 54 <Button55 android:layout_width="wrap_content"56 android:layout_height="wrap_content"57 android:text="imageview"58 android:id="@+id/bt_imageView"59 android:layout_below="@+id/bt_multiChoice"60 android:layout_centerHorizontal="true" />61 </RelativeLayout>
activity_main
MainActivity
1 package com.dragon.android.alertdialog; 2 3 import android.content.DialogInterface; 4 import android.os.Bundle; 5 import android.support.v7.app.AlertDialog; 6 import android.support.v7.app.AppCompatActivity; 7 import android.view.View; 8 import android.widget.EditText; 9 import android.widget.ImageView;10 11 public class MainActivity extends AppCompatActivity implements View.OnClickListener {12 13 @Override14 protected void onCreate(Bundle savedInstanceState) {15 super.onCreate(savedInstanceState);16 setContentView(R.layout.activity_main);17 initView();18 }19 20 private void initView() {21 findViewById(R.id.bt_msg).setOnClickListener(this);22 findViewById(R.id.bt_sure).setOnClickListener(this);23 findViewById(R.id.bt_editText).setOnClickListener(this);24 findViewById(R.id.bt_singleChoice).setOnClickListener(this);25 findViewById(R.id.bt_multiChoice).setOnClickListener(this);26 findViewById(R.id.bt_imageView).setOnClickListener(this);27 }28 29 @Override30 public void onClick(View v) {31 AlertDialog.Builder builder = new AlertDialog.Builder(this);32 switch (v.getId()) {
33 case R.id.bt_msg:34 builder35 .setTitle("Title") // 设置标题36 .setMessage("this is a massage") // 设置提示信息37 .setPositiveButton("sure", null) // 参数1:按钮名;参数2:**38 .show();39 break;
40 case R.id.bt_sure:41 builder42 .setTitle("Sure")43 .setMessage("Sure?")44 .setPositiveButton("sure", null)45 .setNegativeButton("cancel", null)46 .show();47 break;
48 case R.id.bt_editText:49 builder50 .setTitle("Please input")51 .setView(new EditText(this)) // 此方法显示一个View52 .setPositiveButton("sure", null)53 .setNegativeButton("cancel", null)54 .show();55 break;
56 case R.id.bt_singleChoice:57 builder58 .setTitle("Please choice")59 .setSingleChoiceItems(new String[]{"A", "B", "C"}, 0,60 new DialogInterface.OnClickListener() {61 @Override62 public void onClick(DialogInterface dialog, int which) {63 // 单选框,点击一个则自动退出64 dialog.dismiss();65 }66 }) // 参数1:选择框的选项数;参数2:选择的选项ID;参数3:**67 .setNegativeButton("cancel", null)68 .show();69 break;
70 case R.id.bt_multiChoice:71 builder72 .setTitle("Please choice")73 .setMultiChoiceItems(new String[]{"A", "B", "C"}, null, null) // 类同单选74 .setPositiveButton("sure", null)75 .setNegativeButton("cancel", null)76 .show();77 break;
78 case R.id.bt_imageView:79 ImageView imageView = new ImageView(this);80 imageView.setImageResource(R.mipmap.ic_launcher); // 设置图片资源81 builder82 .setTitle("Image")83 .setView(imageView) // 此方法显示一个View84 .setPositiveButton("sure", null)85 .show();86 break;87 }88 }89 }
原标题:Android之AlertDialog应用
关键词:Android