兄弟连云Android学习笔记——Dialog(对话框)

学习对话框Dialog

1.提示对话框     

2.普通列表对话框                                                  

3. 单选对话框                                       

4. 多选对话框                                     

5.自定义视图对话框

MainAcitivity.java

package com.example.dialog;

import android.R.anim;
import android.R.layout;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity implements android.view.View.OnClickListener{
	
	private Button btn1;
	private Button btn2;
	private Button btn3;
	private Button btn4;
	private Button btn5;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btn1 = (Button) findViewById(R.id .button1); //获取Button
		btn1.setOnClickListener(this);  //设置单击事件
		btn2 = (Button) findViewById(R.id .button2); //获取Button
		btn2.setOnClickListener(this);  //设置单击事件
		btn3 = (Button) findViewById(R.id .button3); //获取Button
		btn3.setOnClickListener(this);  //设置单击事件
		btn4 = (Button) findViewById(R.id .button4); //获取Button
		btn4.setOnClickListener(this);  //设置单击事件
		btn5 = (Button) findViewById(R.id .button5); //获取Button
		btn5.setOnClickListener(this);  //设置单击事件
	}

	@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 void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button1:
			createAlertDialog1();
			break;

		case R.id.button2:
			createAlertDialog2();
			break;
			
		case R.id.button3:
			createAlertDialog3();
			break;
		case R.id.button4:
			createAlertDialog4();
			break;
		case R.id.button5:
			createAlertDialog5();
			break;

		default:
			break;
		}
	}
	
	//自定义视图对话框
	private void createAlertDialog5() {
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
	builder.setTitle("登录");
	builder.setIcon(android.R.drawable.ic_dialog_info);
	
	//设置自定义视图
	LayoutInflater inflater = getLayoutInflater(); //布局填充器
//	LayoutInflater inflater = LayoutInflater.from(this);
	
	//实例化布局组件
	final View view = inflater.inflate(R.layout.login,null);  //view 相当于LinearLayout
	
	builder.setView(view);
	
	builder.setPositiveButton("登录", new DialogInterface.OnClickListener() {
		
		public void onClick(DialogInterface dialog, int which) {
			
		EditText et_username = (EditText)view.findViewById(R.id.editText1_username);
		EditText et_password = (EditText)view.findViewById(R.id.editText2_password);
		String username = et_username.getText().toString();
		String password = et_password.getText().toString();
		
		Toast.makeText(MainActivity.this, username+"--"+password, Toast.LENGTH_SHORT).show();
		}
	});
	
	builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
		
		public void onClick(DialogInterface dialog, int which) {	
			
		}
	});
	//中立按钮
	builder.setNeutralButton("隐藏", new DialogInterface.OnClickListener() {
		
		@Override
		public void onClick(DialogInterface arg0, int arg1) {
			
		}
	});
	builder.show();
	}

	//多选对话框
	private void createAlertDialog4() {

		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		final String[] names = {"苹果","草莓"};
		builder.setTitle("选几个吧");
		
		//参数(数据列表,默认选中的选项null表示没有,事件处理)
		builder.setMultiChoiceItems(names, null, new DialogInterface.OnMultiChoiceClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
				java.lang.System.out.println("which:"+which);
				java.lang.System.out.println("isChecked:"+isChecked);
			}
		});
		
		builder.show();
	}

	
	//单选对话框
	private void createAlertDialog3() {
		
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		final String[] names = {"苹果","草莓"};
		builder.setTitle("选择一个");
		//参数(数据列表,默认选中索引-1表示没有选中,事件处理)
		builder.setSingleChoiceItems(names, -1, new DialogInterface.OnClickListener() {
		
			public void onClick(DialogInterface dialog, int arg1) {
				Toast.makeText(MainActivity.this, names[arg1], Toast.LENGTH_LONG).show();
				//关闭对话框
				dialog.dismiss();
			//	dialog.cancel();
			}
		});
		builder.show();
	}

	//创建普通列表选择的对话框
	private void createAlertDialog2() {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		final String[] names = {"苹果","草莓"};
		
		builder.setTitle("选择一个");
		//设置选项列表
		builder.setItems(names, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(MainActivity.this, names[which], Toast.LENGTH_LONG).show();	
			}
		});
		builder.show();
	}

	//创建一个提示信息的对话框
	private void createAlertDialog1() {
	
		//创建一个AlertDialog的建构对象
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("删除");//设置标题
		builder.setMessage("你真的要删除吗");//提示信息
		
		//设置对话框不能被取消
		builder.setCancelable(false);
		//设置正面按钮
		builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {
					
			public void onClick(DialogInterface arg0, int arg1) {
				//单击确定后的事件处理
				Toast.makeText(MainActivity.this, "已删除", Toast.LENGTH_LONG).show();
			}
		});
		//设置反面按钮
		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
						
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, "操作已取消", Toast.LENGTH_LONG).show();
			}
		});
	
		//显示对话框
		builder.show();
	}

}
提示对话框                                                          普通列表对话框                                           单选对话框                       多选对话框                                      自定义视图对话框




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值