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

7种形式的Android Dialog使用举例

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

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





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

viewsource

print?

01
protected
void
dialog(){
02
  AlertDialog.Builderbuilder=

new
Builder(Main.
this
);
03
  builder.setMessage(
"确认退出吗?"
);
04
  builder.setTitle(
"提示"
);
05
  builder.setPositiveButton(
"确认"
,
new
OnClickListener(){
06
  
@Override
07
  
public

void
onClick(DialogInterfacedialog,
int
which){

08
  dialog.dismiss();
09
  Main.
this
.finish();
10
  }
11
  });
12
  builder.setNegativeButton(
"取消"
,
new
OnClickListener(){
13
  
@Override
14
  
public

void
onClick(DialogInterfacedialog,
int
which){

15
  dialog.dismiss();
16
  }
17
  });
18
  builder.create().show();

19
  }
在onKeyDown(intkeyCode,KeyEventevent)方法中调用此方法

viewsource

print?

1
public
boolean
onKeyDown(
int

keyCode,KeyEventevent){
2
  
if

(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==
0
){
3
  dialog();
4
  }
5
  
return

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





创建dialog的方法代码如下:

viewsource

print?

01
Dialogdialog=
new

AlertDialog.Builder(
this
).setIcon(
02
  android.R.drawable.btn_star).setTitle(
"喜好调查"
).setMessage(
03
  
"你喜欢李连杰的电影吗?"
).setPositiveButton(
"很喜欢"
,
04
  
new

OnClickListener(){
05
  
@Override
06
  
public

void
onClick(DialogInterfacedialog,
int
which){

07
  
//TODOAuto-generatedmethodstub
08
  Toast.makeText(Main.
this
,
"我很喜欢他的电影。"
,

09
  Toast.LENGTH_LONG).show();
10
  }
11
  }).setNegativeButton(
"不喜欢"
,
new
OnClickListener(){
12
  
@Override
13
  
public

void
onClick(DialogInterfacedialog,
int
which){

14
  
//TODOAuto-generatedmethodstub
15
  Toast.makeText(Main.
this
,
"我不喜欢他的电影。"
,Toast.LENGTH_LONG)
16
  .show();
17
  }
18
  }).setNeutralButton(
"一般"
,
new
OnClickListener(){
19
  
@Override
20
  
public

void
onClick(DialogInterfacedialog,
int
which){

21
  
//TODOAuto-generatedmethodstub
22
  Toast.makeText(Main.
this
,
"谈不上喜欢不喜欢。"
,Toast.LENGTH_LONG)
23
  .show();
24
  }
25
  }).create();
26
  dialog.show();
3.信息内容是一个简单的View类型





创建dialog方法的代码如下:

viewsource

print?

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方法的代码如下:

viewsource

print?

1
new
AlertDialog.Builder(
this
).setTitle(
"复选框"
).setMultiChoiceItems(
2
  
new

String[]{
"Item1"
,
"Item2"
},

null
,
null
)
3
  .setPositiveButton(
"确定"
,
null
)
4
  .setNegativeButton(
"取消"
,
null
).show();
5.信息内容是一组多选框





创建dialog方法的代码如下:

viewsource

print?

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(DialogInterfacedialog,
int
which){

6
  dialog.dismiss();
7
  }
8
  }).setNegativeButton(
"取消"
,
null
).show();
6.信息内容是一组简单列表项





创建dialog的方法代码如下:

viewsource

print?

1
new
AlertDialog.Builder(
this
).setTitle(
"列表框"
).setItems(
2
  
new

String[]{
"Item1"
,
"Item2"
},

null
).setNegativeButton(
3
  
"确定"
,
null
).show();
7.信息内容是一个自定义的布局





dialog布局文件代码如下:

viewsource

print?

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方法的代码如下:

viewsource

print?

1
LayoutInflaterinflater=getLayoutInflater();
2
  Viewlayout=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种Androiddialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。

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