0
点赞
收藏
分享

微信扫一扫

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01


Android Dialog.................................................................................................................. 1

1. 7种形式的Android Dialog使用举例....................................................................... 1

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。 2

2.改变了对话框的图表,添加了三个按钮............................................................ 3

3.信息内容是一个简单的View类型.................................................................... 4

4.信息内容是一组单选框.................................................................................... 5

5.信息内容是一组多选框.................................................................................... 6

6.信息内容是一组简单列表项............................................................................. 7

7.信息内容是一个自定义的布局.......................................................................... 8

8. 带progressBar的程序................................................................................ 10

2. 对话框的常用方法............................................................................................... 10

2.1 创建 AlertDialog 对话框的主要步骤有:.................................................... 11

2.2 它提供的方法主要有:............................................................................... 11

1. 7种形式的Android Dialog使用举例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_信息内容

创建dialog对话框方法代码如下:

protected void dialog() {
AlertDialog.Builder builder =new Builder(Main.this);
builder.setMessage("确认退出吗?");
builder.setTitle("提示");
builder.setPositiveButton("确认",newOnClickListener() {
@Override
public void onClick(DialogInterface dialog,intwhich) {
dialog.dismiss();
Main.this.finish();
}
});
builder.setNegativeButton("取消",newOnClickListener() {
@Override
publicvoidonClick(DialogInterface dialog,intwhich) {
dialog.dismiss();
}
});
builder.create().show();
}

在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法

public boolean onKeyDown(intkeyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==0) {
dialog();
}
return false;
}

2.改变了对话框的图表,添加了三个按钮

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_Android_02

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setIcon(android.R.drawable.btn_star)
.setTitle("喜好调查")
.setMessage("你喜欢李连杰的电影吗")
.setPositiveButton("和喜欢", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this
, "我很喜欢他的电影"
, Toast.LENGTH_LONG).show();
System.out.println("positiveButton");
}
}).setNegativeButton("不喜欢", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this
, "我不是很喜欢他的电影"
, Toast.LENGTH_LONG).show();
System.out.println("negativeButton");
}
}).setNeutralButton("一般、", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this
, "一般电影"
, Toast.LENGTH_LONG).show();
System.out.println("neutralButton");
}
}).create().show();

创建dialog的方法代码如下:

3.信息内容是一个简单的View类型

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_信息内容_03

创建dialog方法的代码如下:

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("请输入")
.setIcon(android.R.drawable.ic_dialog_info)
.setView(new EditText(MainActivity.this))
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.create().show();

4.信息内容是一组单选框

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_android_04

创建dialog方法的代码如下:

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("singleChoice")
.setIcon(android.R.drawable.ic_dialog_info)
.setSingleChoiceItems(new String[]{ "item1","item2"}
, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
System.out.println("dialog.dismiss");
}}).setNegativeButton("cancel", null).show();

5.信息内容是一组多选框

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_android_05

创建dialog方法的代码如下:

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("复选框")
.setMultiChoiceItems(new String[]{"Items1","Items2"}, null, null)
.setPositiveButton("OK", null)
.setNegativeButton("cancel", null).show();

6.信息内容是一组简单列表项

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_Android_06

创建dialog的方法代码如下:

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("列表框").setItems(
new String[]{"item1","item2"}, null)
.setNegativeButton("OK", null).show();

7.信息内容是一个自定义的布局

2015.4.24.19.35_Dialog_2015.4.24_ AndroidDialog对话框组件及其用法_0.01_Android_07

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="#ffffffff"
android:orientation="horizontal"
android:id="@+id/dialog">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname"android:text="姓名:"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/etname"
android:minWidth="100dip"/>
</LinearLayout>

dialog布局文件代码如下:

创建dialog方法的代码如下:

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog
, (ViewGroup) findViewById(R.id.dialog));
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("自定义布局")
.setView(layout)
.setPositiveButton("OK", null)
.setNegativeButton("cancel", null).show();

 

好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。

另外注,本文参考文章:
http://android.tgbus.com/Android/tutorial/201107/359812.shtml

8.带progressBar的程序

ProgressDialog progressDialog = ProgressDialog.show(MainActivity.this
, "download"
, "downloading..."
, true);
progressDialog.setCancelable(true);

2. 对话框的常用方法

对话框是一种显示于 Activity 之上的界面元素,是作为 Activity 的一部分被创建和显示的,常用的对话框种类有:提示对话框 AlertDialog、进度对话框 ProgressDialog、日期选择对话框 DatePickerDialog、时间选择对话框 TimePickerDialog 等,其中 AlertDialog 是常用的对话框。当显示对话框时,当前 Activity 失去焦点而由对话框负责所有的交互。一般来说,对话框用于给出提示信息或弹出一个与主进程直接相关的子程序。

当对话框第一次被显示时,在程序中通过相应的回调方法 onCreateDialog()来完成对话

框实例的创建。该方法需要传入代表对话框的 ID 参数(之后不再重复创建该实例) 。如果需要显示对话框,则调用 showDialog()方法传入对话框的 ID 来显示指定的对话框。每次对话框被显示之前都会调用 onPrepareDialog()方法,因为如果不重写该方法,每次显示的对话框都是最初创建的那个。关闭对话框时可以调用 Dialog 类的 dismiss()方法来实现,但通过这种方法关闭的对话框并不会彻底消失,Android 会在后台保留其状态,因此可以为对话框设置 onDismissListener()并重写其中的 onDismiss()方法来开发相应的功能。如果需要让对话框在关闭之前彻底被清除,要调用 removeDialog()方法并传入 Dialog 的 ID 值来彻底释放对话框资源。

2.1 创建 AlertDialog 对话框的主要步骤有:

(1) 获得 AlertDialog 的静态内部类 Builder 对象,并由该类来创建对话框。

(2) 通过 Builder 对象设置对话框的标题、按钮以及按钮将要响应的事件。

(3) 调用 Builder 的 create()方法创建对话框。

(4) 调用 AlertDialog 的 show()方法显示对话框。

2.2 它提供的方法主要有:

l setTitle():设置对话框标题。

l setIcon():设置对话框图标。

l setMessage():设置对话框提示信息。

l setItems():设置对话框要显示的一个列表。

l setSingleChoiceItems():设置对话框显示一个单选的 List。

l setMultiChoiceItems():设置对话框显示一系列的复选框。

l setPositiveButton():给对话框添加 Yes 按钮。

l setNegativeButton():给对话框添加 No 按钮。

l setView():给对话框设置自定义样式。

l create():创建对话框。

l show()和 showDialog():显示对话框。

l onCreateDialog():创建对话框的实现。

l onPrepareDialog():更改已有对话框时调用。

l

举报

相关推荐

Qt添加Dialog对话框

0 条评论