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

7种形式的Android Dialog使用举例

2013-11-08 09:48 615 查看
安卓AlertDialog为了防止碰到屏幕的其他位置而导致对话框消失,加上dialog.setCancleable(false);就行了

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。



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

01
protected
void
dialog()
 {
02
  
 AlertDialog.Builder builder =
new
Builder(Main.
this
);
03
  
 builder.setMessage(
"确认退出吗?"
);
04
  
 builder.setTitle(
"提示"
);
05
  
 builder.setPositiveButton(
"确认"
,
new
OnClickListener()
 {
06
  
@Override
07
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
08
  
dialog.dismiss();
09
  
Main.
this
.finish();
10
  
 }
11
  
 });
12
  
 builder.setNegativeButton(
"取消"
,
new
OnClickListener()
 {
13
  
@Override
14
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
15
  
dialog.dismiss();
16
  
 }
17
  
 });
18
  
 builder.create().show();
19
  
 }
在onKeyDown(int keyCode,KeyEvent event)方法中调用此方法

1
public
boolean
onKeyDown(
int
keyCode,
 KeyEvent event) {
2
  
if
(keyCode
 == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==
0
)
 {
3
  
dialog();
4
  
 }
5
  
return
false
;
6
  
 }
2.改变了对话框的图表,添加了三个按钮




创建dialog的方法代码如下:

01
Dialog
 dialog =
new
AlertDialog.Builder(
this
).setIcon(
02
  
android.R.drawable.btn_star).setTitle(
"喜好调查"
).setMessage(
03
  
"你喜欢李连杰的电影吗?"
).setPositiveButton(
"很喜欢"
,
04
  
new
OnClickListener()
 {
05
  
@Override
06
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
07
  
//
 TODO Auto-generated method stub
08
  
Toast.makeText(Main.
this
,
"我很喜欢他的电影。"
,
09
  
Toast.LENGTH_LONG).show();
10
  
 }
11
  
 }).setNegativeButton(
"不喜欢"
,
new
OnClickListener()
 {
12
  
@Override
13
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
14
  
//
 TODO Auto-generated method stub
15
  
Toast.makeText(Main.
this
,
"我不喜欢他的电影。"
,
 Toast.LENGTH_LONG)
16
  
.show();
17
  
 }
18
  
 }).setNeutralButton(
"一般"
,
new
OnClickListener()
 {
19
  
@Override
20
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
21
  
//
 TODO Auto-generated method stub
22
  
Toast.makeText(Main.
this
,
"谈不上喜欢不喜欢。"
,
 Toast.LENGTH_LONG)
23
  
.show();
24
  
 }
25
  
 }).create();
26
  
dialog.show();
3.信息内容是一个简单的View类型




创建dialog方法的代码如下:

1
new
AlertDialog.Builder(
this
).setTitle(
"请输入"
).setIcon(
2
  
android.R.drawable.ic_dialog_info).setView(
3
  
new
EditText(
this
)).setPositiveButton(
"确定"
,
null
)
4
  
.setNegativeButton(
"取消"
,
null
).show();
4.信息内容是一组单选框




创建dialog方法的代码如下:

1
new
AlertDialog.Builder(
this
).setTitle(
"复选框"
).setMultiChoiceItems(
2
  
new
String[]
 {
"Item1"
,
"Item2"
},
null
,
null
)
3
  
.setPositiveButton(
"确定"
,
null
)
4
  
.setNegativeButton(
"取消"
,
null
).show();
5.信息内容是一组多选框




创建dialog方法的代码如下:

1
new
AlertDialog.Builder(
this
).setTitle(
"单选框"
).setIcon(
2
  
android.R.drawable.ic_dialog_info).setSingleChoiceItems(
3
  
new
String[]
 {
"Item1"
,
"Item2"
},
0
,
4
  
new
DialogInterface.OnClickListener()
 {
5
  
public
void
onClick(DialogInterface
dialog,
int
which)
 {
6
  
dialog.dismiss();
7
  
 }
8
  
 }).setNegativeButton(
"取消"
,
null
).show();
6.信息内容是一组简单列表项




创建dialog的方法代码如下:

1
new
AlertDialog.Builder(
this
).setTitle(
"列表框"
).setItems(
2
  
new
String[]
 {
"Item1"
,
"Item2"
},
null
).setNegativeButton(
3
  
"确定"
,
null
).show();
7.信息内容是一个自定义的布局




dialog布局文件代码如下:

01
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02
03
  <
LinearLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
04
  
android:layout_height
=
"wrap_content"
android:layout_width
=
"wrap_content"
05
  
android:background
=
"#ffffffff"
android:orientation
=
"horizontal"
06
  
android:id
=
"@+id/dialog"
>
07
  
 <
TextView
android:layout_height
=
"wrap_content"
08
  
android:layout_width
=
"wrap_content"
09
  
android:id
=
"@+id/tvname"
android:text
=
"姓名:"
/>
10
  
 <
EditText
android:layout_height
=
"wrap_content"
11
  
android:layout_width
=
"wrap_content"
android:id
=
"@+id/etname"
android:minWidth
=
"100dip"
/>
12
  </
LinearLayout
>
创建dialog方法的代码如下:

1
LayoutInflater
 inflater = getLayoutInflater();
2
  
View layout = inflater.inflate(R.layout.dialog,
3
  
(ViewGroup) findViewById(R.id.dialog));
4
  
new
AlertDialog.Builder(
this
).setTitle(
"自定义布局"
).setView(layout)
5
  
.setPositiveButton(
"确定"
,
null
)
6
  
.setNegativeButton(
"取消"
,
null
).show();
好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: