您的位置:首页 > 产品设计 > UI/UE

AlertDialog.Builder(各种对话框实现)

2015-06-26 16:25 393 查看
package com.example.xin.duihua;

import android.support.v7.app.ActionBarActivity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

private Button bt1;

private Button bt2;

private Button bt3;

private Button bt4;

private Button bt5;

private String[] single_list={"男","女","男程序猿","女博士"};

private String[] multi_list={"足球","篮球","男人","女人"};

private String[] item_list={"老板","经理","主管","组长"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Event();

}

//设置点击事件

private void Event() {

// TODO Auto-generated method stub

findViewById(R.id.bt_1).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

showDialog1();

}

});

findViewById(R.id.bt_2).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

showDialog2();

}

});

findViewById(R.id.bt_3).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

showDialog3();

}

});

findViewById(R.id.bt_4).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

showDialog4();

}

});

findViewById(R.id.bt_5).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

showDialog5();

}

});

}

/**

* 显示确认对话框

*/

protected void showDialog1() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);//获得一个builder对象

builder.setTitle("确认对话框");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setMessage("确认对话框提示内容");//设置内容

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "点击了确定按钮!",

Toast.LENGTH_SHORT).show();

}

});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "点击了取消按钮!",

Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

/**

* 显示单选按钮对话框

*/

protected void showDialog2() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("选择性别");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setSingleChoiceItems(single_list, 0, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

String str = single_list[which];

Toast.makeText(MainActivity.this, "这个人是"+str+"!",

Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

/**

* 显示多选按钮对话框

*/

protected void showDialog3() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("爱好");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setMultiChoiceItems(multi_list, null, new DialogInterface.OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialog, int which, boolean isChecked) {

// TODO Auto-generated method stub

if(isChecked){

Toast.makeText(MainActivity.this, "我喜欢上了"+multi_list[which]+"!",

Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(MainActivity.this, "我不喜欢"+multi_list[which]+"了!",

Toast.LENGTH_SHORT).show();

}

}

});

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

/**

* 显示列表对话框

*/

protected void showDialog4() {

// TODO Auto-generated method stub

AlertDialog.Builder builder=new AlertDialog.Builder(this);

builder.setTitle("部门列表");

builder.setIcon(R.drawable.ic_launcher);

builder.setItems(item_list, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "我炒了"+item_list[arg1], Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

/**

* 显示自定义对话框

*/

protected void showDialog5() {

// TODO Auto-generated method stub

/**

* 将xml转化为View

*/

LayoutInflater inflater = LayoutInflater.from(this);

View view = inflater.inflate(R.layout.dialog_layout, null);

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("自定义对话框");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setView(view);

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

}

//dialog_layout布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<ImageView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/IV"

android:src="@drawable/item5"/>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="请输入内容"

android:layout_weight="1"

/>



<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="确定"

android:layout_marginLeft="10dip"

/>

</LinearLayout>



</LinearLayout>

//附:主布局根据图片效果自己简单实现一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: