栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android入门之AlertDialog用法实例分析

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android入门之AlertDialog用法实例分析

本文实例讲述的是alertDialog,这种对话框会经常遇到。alertDialog跟WIN32开发中的Dialog不一样,alertDialog是非阻塞的,而阻塞的对话框用的是PopupWindow。

先贴出该程序运行的截图:

main.xml的源码:









下图是非Layout型对话框,直接使用alertDialog

下图是使用了Layout的对话框,可以自定义控件,实现更复杂的对话框

dialoglayout.xml的源码:




 


程序源码:

package com.testalertDialog;

import android.app.Activity;
import android.app.alertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.PopupWindow;


public class testalertDialog extends Activity {
 Button btnShowDialog;
 Button btnShowDialog_Layout;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //定义按钮
    btnShowDialog=(Button)this.findViewById(R.id.Button01);
    btnShowDialog.setonClickListener(new ClickEvent());
    btnShowDialog_Layout=(Button)this.findViewById(R.id.Button02);
    btnShowDialog_Layout.setonClickListener(new ClickEvent());
  }
  
  
  //统一处理按键事件
  class ClickEvent implements OnClickListener{

   @Override
   public void onClick(View v) {
   // TODO Auto-generated method stub
   if(v==btnShowDialog)
    showDialog(testalertDialog.this);
    
   else if(v==btnShowDialog_Layout)
    showDialog_Layout(testalertDialog.this);
   
   }

  }

  //显示基本的alertDialog
 private void showDialog(Context context) {
 alertDialog.Builder builder = new alertDialog.Builder(context);
 builder.setIcon(R.drawable.icon);
 builder.setTitle("Title");
 builder.setMessage("Message");
 builder.setPositiveButton("Button1",
  new DialogInterface.onClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
   setTitle("点击了对话框上的Button1");
   }
  });
 builder.setNeutralButton("Button2",
  new DialogInterface.onClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
   setTitle("点击了对话框上的Button2");
   }
  });
 builder.setNegativeButton("Button3",
  new DialogInterface.onClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
   setTitle("点击了对话框上的Button3");
   }
  });
 builder.show();
 }


  //显示基于Layout的alertDialog
 private void showDialog_Layout(Context context) {
 LayoutInflater inflater = LayoutInflater.from(this);
 final View textEntryView = inflater.inflate(
  R.layout.dialoglayout, null);
 final EditText edtInput=(EditText)textEntryView.findViewById(R.id.edtInput);
 final alertDialog.Builder builder = new alertDialog.Builder(context);
 builder.setCancelable(false);
 builder.setIcon(R.drawable.icon);
 builder.setTitle("Title");
 builder.setView(textEntryView);
 builder.setPositiveButton("确认",
  new DialogInterface.onClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
   setTitle(edtInput.getText());
   }
  });
 builder.setNegativeButton("取消",
  new DialogInterface.onClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
   setTitle("");
   }
  });
 builder.show();
 }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/164491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号