Android的AlertDialog详解

AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。

要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。

使用AlertDialog.Builder创建对话框需要了解以下几个方法:

setTitle :为对话框设置标题

setIcon :为对话框设置图标

setMessage:为对话框设置内容
    setView : 给对话框设置自定义样式
    setItems :设置对话框要显示的一个list,一般用于显示几个命令时
    setMultiChoiceItems :用来设置对话框显示一系列的复选框
    setNeutralButton    :普通按钮

setPositiveButton   :给对话框添加"Yes"按钮
    setNegativeButton :对话框添加"No"按钮
    create : 创建对话框
    show :显示对话框

转:http://www.2cto.com/kf/201205/131876.html

package com.example.edittext;

import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ZoomButton;

public class MainActivity extends ActionBarActivity {
	private Button button01 = null;
	private Button button02 = null;
	private Toast toast;
	private ZoomButton zb;
	private TextView text;
	static long size = 12;
	private TextView textView;
	ImageButton imgbtn1;
	ImageButton imgbtn2;
	ImageButton imgbtn3;
	ImageButton imgbtn4;
	final String[] mItems = { "item0", "item1", "itme2", "item3", "itme4",
			"item5", "item6" };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		textView = (TextView) findViewById(R.id.textview);
		imgbtn1 = (ImageButton) findViewById(R.id.imagebutton1);
		imgbtn2 = (ImageButton) findViewById(R.id.imagebutton2);
		imgbtn3 = (ImageButton) findViewById(R.id.imagebutton3);
		imgbtn4 = (ImageButton) findViewById(R.id.imagebutton4);
		imgbtn2.setImageDrawable(getResources().getDrawable(
				R.drawable.ic_launcher));
		imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.wu));
		imgbtn4.setImageDrawable(getResources().getDrawable(
				android.R.drawable.sym_call_incoming));
		imgbtn1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Dialog dialog = new AlertDialog.Builder(MainActivity.this)
						.setTitle("提示")
						.setMessage("我是ImageButton1")
						.setPositiveButton("确定",
								new DialogInterface.OnClickListener() {

									@Override
									public void onClick(DialogInterface dialog,
											int whichButton) {
										// 这里添加点击确定后的逻辑
										Toast.makeText(getApplicationContext(),
												"你选择了确定", Toast.LENGTH_SHORT)
												.show();
									}
								})
						.setNegativeButton("取消",
								new DialogInterface.OnClickListener() {

									@Override
									public void onClick(DialogInterface dialog,
											int which) {
										// TODO Auto-generated method stub
										Toast.makeText(getApplicationContext(),
												"你选择了取消", Toast.LENGTH_SHORT)
												.show();
									}
								}).create();
				dialog.show();
			}

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

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Dialog dialog = new AlertDialog.Builder(MainActivity.this)
						.setTitle("提示")
						.setMessage("我是ImageButton2,我要使用ImageButton3的图标")
						.setPositiveButton("确定",
								new DialogInterface.OnClickListener() {

									@Override
									public void onClick(DialogInterface dialog,
											int which) {
										// TODO Auto-generated method stub
										imgbtn2.setImageDrawable(getResources()
												.getDrawable(R.drawable.wu));
									}
								}).create();
				dialog.show();
			}

		});
		imgbtn3.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Dialog dialog = new AlertDialog.Builder(MainActivity.this)
						.setTitle("提示")
						.setMessage("我是ImageButton3,我想使用系统打电话的图标")
						.setPositiveButton("确定",
								new DialogInterface.OnClickListener() {

									@Override
									public void onClick(DialogInterface dialog,
											int which) {
										// TODO Auto-generated method stub
										imgbtn3.setImageDrawable(getResources()
												.getDrawable(
														android.R.drawable.sym_action_call));
									}
								}).create();
				dialog.show();
			}

		});
		imgbtn4.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {

				Dialog dialog = new AlertDialog.Builder(MainActivity.this)
						.setTitle("列表选择框")
						.setItems(mItems,
								new DialogInterface.OnClickListener() {

									public void onClick(DialogInterface dialog,
											int which) {
										Toast.makeText(getApplicationContext(),
												"你选择了" + mItems[which],
												Toast.LENGTH_SHORT).show();
									}
								}).create();
				dialog.show();
			}

		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	/*
	 * public void changeButtonColor(View view){ Toast.makeText(this,
	 * "Button clicked!", Toast.LENGTH_SHORT).show(); } class MyButtonListener
	 * implements OnClickListener{ public void onClick(View v){
	 * Toast.makeText(MainActivity.this, "ImageButton clicked!",
	 * Toast.LENGTH_SHORT).show(); } }
	 */
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值