对话框即Dialoggoogle的官方解释:AdialogisusuallyasmallwindowthatappearsinfrontofthecurrentActivity.TheunderlyingActivitylosesfocusandthedialogacceptsalluserinteraction.

翻译过来就是:对话框是当前Activity之上的小窗口,此时对话框接受用户的操作而Activity得不到用户的反馈。

一般而言我们不会直接实例化Dialog我们用的是Dialog的子类下面是一些Dialog的常用子类

对于对话框:大致分三步:创建对话框、显示对话框show()、dismiss()对话框

AlertDialog:

Adialogthatcanmanagezero,one,two,orthreebuttons,and/oralistofselectableitemsthatcanincludecheckboxesorradiobuttons.TheAlertDialogiscapableofconstructingmostdialoguserinterfacesandisthesuggesteddialogtype

progressDialog:

Adialogthatdisplaysaprogresswheelorprogressbar.Becauseit'sanextensionoftheAlertDialog,italsosupportsbuttons.

DatePickerDialog:

Adialogthatallowstheusertoselectadate.

TimePickerDiaog:

Adialogthatallowstheusertoselectatime.

当然我们也会使用自己自定义的对话框。

各种对话框使用如下:

代码如下 点击相应按钮创建对话框

package leemo.DialogEp;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.content.Context;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;/* * 练习操作Dialog的使用 */public class DialogEpActivity extends Activity {/** Called when the activity is first created. */protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// setContentView(R.layout.main);Button btalert = (Button) findViewById(R.id.btalert);btalert.setText("点击创建Alert Dialog");btalert.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcreateAlertDialog();}});Button btlist = (Button) findViewById(R.id.btlist);btlist.setText("点击创建ListDialog");btlist.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcreateListDialog();}});Button btcb = (Button) findViewById(R.id.btcb);btcb.setText("点击创建带checkbox的对话框");btcb.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcreateSingleCheckBoxDialog();}});Button btpb = (Button) findViewById(R.id.btpb);btpb.setText("点击创建进度条");btpb.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcreatepbDialog();}});Button btcusdialog = (Button) findViewById(R.id.btcusdialog);btcusdialog.setText("点击创建自定义的对话框");btcusdialog.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcreatecusDialog();}});}public void createAlertDialog() {AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setMessage("Are you sure want to exit").setCancelable(false).setPositiveButton("Yes",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stubDialogEpActivity.this.finish();}}).setNegativeButton("No", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.cancel();}});builder.create().show();}public void createListDialog() {final CharSequence[] items = { "Red", "Blue", "Green" };AlertDialog.Builder builder = new AlertDialog.Builder(DialogEpActivity.this);builder.setTitle("Select A Color");builder.setItems(items, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(getApplication(), items[which],Toast.LENGTH_LONG).show();}});builder.create().show();}public void createSingleCheckBoxDialog() {final CharSequence[] items = { "Red", "Bule", "Green" };AlertDialog.Builder bd = new AlertDialog.Builder(DialogEpActivity.this);bd.setTitle("Select A Color");bd.setSingleChoiceItems(items, -1,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();Toast.makeText(getApplicationContext(), items[which],Toast.LENGTH_SHORT).show();}});bd.create().show();}public void createpbDialog() {ProgressDialog dialog = ProgressDialog.show(DialogEpActivity.this,"loading", "loading please waiting");dialog.show();}public void createcusDialog() {Context mContext = DialogEpActivity.this;Dialog dialog = new Dialog(mContext);dialog.setContentView(R.layout.dialog);dialog.setTitle("Custom Dialog");TextView text = (TextView) dialog.findViewById(R.id.text);text.setText("Hello, this is a custom dialog!");ImageView image = (ImageView) dialog.findViewById(R.id.image);image.setImageResource(R.drawable.ic_launcher);Button btcs = (Button) dialog.findViewById(R.id.btcs);btcs.setText("点击创建Toast");btcs.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(DialogEpActivity.this, "is okay",Toast.LENGTH_SHORT).show();}});dialog.show();}}

创建自定义对话框时,要自己定义布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:id="@+id/layout_root"              android:orientation="horizontal"              android:layout_width="fill_parent"              android:layout_height="fill_parent"              android:padding="10dp"              >    <ImageView android:id="@+id/image"               android:layout_width="wrap_content"               android:layout_height="fill_parent"               android:layout_marginRight="10dp"               />    <TextView android:id="@+id/text"              android:layout_width="wrap_content"              android:layout_height="fill_parent"              android:textColor="#FFF"              />    <Button         android:id="@+id/btcs"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        /></LinearLayout>

效果如下图

【原创】Android 对话框的使用

【原创】Android 对话框的使用

【原创】Android 对话框的使用

更多相关文章

  1. Android普通对话框用法实例分析
  2. android使用sharedPreferences()方法读写文件操作
  3. Android Bigmap的操作(绘制,裁剪)
  4. android 数据库操作异常
  5. android 中常用操作
  6. android 对SD卡文件的I/O操作
  7. android连接数据库sqllist基础操作学习:
  8. Android添加半透明操作提示的方法

随机推荐

  1. mssql自动备份及自动清除日志文件服务器
  2. Sql 语句学习指南第1/2页
  3. MSSQL 清空数据库的方法
  4. SQL Select语句完整的执行顺序
  5. SQL Server 海量数据导入的最快方法
  6. 一条SQL语句搞定Sql2000 分页
  7. 批量执行sql语句的方法
  8. 分页存储过程代码
  9. SQL Server数据库的修复SQL语句
  10. sql2000挂起无法安装的问题的解决方法