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

7种形式的Android Dialog使用举例

2014-04-22 18:40 381 查看
在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的时候就可以拿出来看看。

另外注,本文参考文章:
http://android.tgbus.com/Android/tutorial/201107/359812.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息