您的位置:首页 > 移动开发 > Android开发

11.Android之常用对话框AlertDialog学习

2015-12-26 13:00 701 查看
(1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如设置标题、图标、内容等等。

修改下MainActivity.java方法(Android Studio工具下):

package com.example.administrator.dialog1;

import android.app.Activity;
import android.os.Bundle;
import android.app.AlertDialog.Builder;
import android.app.AlertDialog;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
Builder alertdialog = new AlertDialog.Builder(this);
alertdialog.setTitle("简单对话框");                            //设置标题
alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。");     //设置内容
alertdialog.setIcon(R.mipmap.ic_launcher);                  //设置图标
alertdialog.create();
alertdialog.show();
}

}


运行效果:



(2) 接下来我们来设置带按钮的AlertDialog,代码如下:

package com.example.administrator.dialog1;

import android.app.Activity;
import android.os.Bundle;
import android.app.AlertDialog.Builder;
import android.app.AlertDialog;
import android.content.DialogInterface;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
//        //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
//        Builder alertdialog = new AlertDialog.Builder(this);
//        alertdialog.setTitle("简单对话框");                            //设置标题
//        alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。");     //设置内容
//        alertdialog.setIcon(R.mipmap.ic_launcher);                  //设置图标
//        alertdialog.create();
//        alertdialog.show();

Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("确定删除?");
dialog.setMessage("您确定删除该条信息吗?");
dialog.setIcon(R.mipmap.ic_launcher);

//为“取消”按钮注册监听事件
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//...
}
});

//为“查看详情”按钮注册监听事件
dialog.setNeutralButton("查看详情", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//...
}
});

//为“确定”按钮注册监听事件
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//...
}
});

dialog.create();
dialog.show();
}

}


运行效果:



说明:setPositiveButton(),setNegativeButton(),setNeutralButton()方法分别用来设置确定按钮、取消按钮、中间按钮的一些属性,在Android2.3 以下平台中,三按钮的位置是相对固定的,分别置于最左侧,最右侧和居中,但在Android4.0以上平台下,setPositiveButton和setNegativeButton位置恰恰相反,分别置于最右侧和最左侧。

(3)带有单选按钮或者复选按钮的AlertDialog对话框

直接上代码:

package com.example.administrator.dialog1;

import android.app.Activity;
import android.os.Bundle;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.widget.Toast;

public class MainActivity extends Activity {

private int selectedCityIndex = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//定义城市数组
final String[] arrayCity = new String[] { "北京", "上海", "广州", "深圳" };

//实例化AlertDialog对话框
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("你最喜欢哪个地方?")                 //设置标题
.setIcon(R.mipmap.ic_launcher)                //设置图标
// 设置对话框显示一个单选List,指定默认选中项,同时设置监听事件处理
.setSingleChoiceItems(arrayCity, 0, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
selectedCityIndex = which;               //选中项的索引保存到选中项变量
}
})
//添加取消按钮并增加监听处理
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
//添加确定按钮并增加监听处理
.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplication(), arrayCity[selectedCityIndex], Toast.LENGTH_SHORT).show();
}
})
.create();
alertDialog.show();
}

}


说明:setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第三个参数设置监听处理事件。

运行效果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: