Android控件——7种形式的Android Dialog使用举例

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

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

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

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19


protected
void
dialog() {

    AlertDialog.Builder builder =
new
Builder(Main.
this
);

    builder.setMessage(
"确认退出吗?"
);

    builder.setTitle(
"提示"
);

    builder.setPositiveButton(
"确认"
,
new
OnClickListener() {

    
@Override

    
public
void
onClick(DialogInterface dialog,
int
which) {

      dialog.dismiss();

      Main.
this
.finish();

     }

    });

    builder.setNegativeButton(
"取消"
,
new
OnClickListener() {

    
@Override

    
public
void
onClick(DialogInterface dialog,
int
which) {

      dialog.dismiss();

     }

    });

    builder.create().show();

   }

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

?


1

2

3

4

5

6


public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {

   
if
(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==
0
) {

     dialog();

    }

   
return
false
;

   }

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

创建dialog的方法代码如下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26


Dialog dialog =
new
AlertDialog.Builder(
this
).setIcon(

       android.R.drawable.btn_star).setTitle(
"喜好调查"
).setMessage(

      
"你喜欢李连杰的电影吗?"
).setPositiveButton(
"很喜欢"
,

      
new
OnClickListener() {

       
@Override

       
public
void
onClick(DialogInterface dialog,
int
which) {

        
// TODO Auto-generated method stub

         Toast.makeText(Main.
this
,
"我很喜欢他的电影。"
,

           Toast.LENGTH_LONG).show();

        }

       }).setNegativeButton(
"不喜欢"
,
new
OnClickListener() {

     
@Override

     
public
void
onClick(DialogInterface dialog,
int
which) {

      
// TODO Auto-generated method stub

       Toast.makeText(Main.
this
,
"我不喜欢他的电影。"
, Toast.LENGTH_LONG)

         .show();

      }

     }).setNeutralButton(
"一般"
,
new
OnClickListener() {

     
@Override

     
public
void
onClick(DialogInterface dialog,
int
which) {

      
// TODO Auto-generated method stub

       Toast.makeText(Main.
this
,
"谈不上喜欢不喜欢。"
, Toast.LENGTH_LONG)

         .show();

      }

     }).create();

     dialog.show();

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

创建dialog方法的代码如下:

?


1

2

3

4


new
AlertDialog.Builder(
this
).setTitle(
"请输入"
).setIcon(

       android.R.drawable.ic_dialog_info).setView(

      
new
EditText(
this
)).setPositiveButton(
"确定"
,
null
)

       .setNegativeButton(
"取消"
,
null
).show();

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

创建dialog方法的代码如下:

?


1

2

3

4


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

      
new
String[] {
"Item1"
,
"Item2"
},
null
,
null
)

       .setPositiveButton(
"确定"
,
null
)

       .setNegativeButton(
"取消"
,
null
).show();

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

创建dialog方法的代码如下:

?


1

2

3

4

5

6

7

8


new
AlertDialog.Builder(
this
).setTitle(
"单选框"
).setIcon(

       android.R.drawable.ic_dialog_info).setSingleChoiceItems(

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

      
new
DialogInterface.OnClickListener() {

       
public
void
onClick(DialogInterface dialog,
int
which) {

         dialog.dismiss();

        }

       }).setNegativeButton(
"取消"
,
null
).show();

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

创建dialog的方法代码如下:

?


1

2

3


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

      
new
String[] {
"Item1"
,
"Item2"
},
null
).setNegativeButton(

      
"确定"
,
null
).show();

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

dialog布局文件代码如下:

?


1

2

3

4

5

6

7

8

9

10

11

12


<?
xml
version
=
"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方法的代码如下:

?


1

2

3

4

5

6


LayoutInflater inflater = getLayoutInflater();

     View layout = inflater.inflate(R.layout.dialog,

       (ViewGroup) findViewById(R.id.dialog));

    
new
AlertDialog.Builder(
this
).setTitle(
"自定义布局"
).setView(layout)

       .setPositiveButton(
"确定"
,
null
)

       .setNegativeButton(
"取消"
,
null
).show();

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

时间: 2024-10-12 12:58:19

Android控件——7种形式的Android Dialog使用举例的相关文章

Android控件——7种形式的Android Dialog使用举例(转载)

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

Android控件(2)RadioButton&amp;RadioGroup

抄自: http://www.cnblogs.com/wt616/archive/2011/06/20/2085531.html 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个Che

Android 控件使用

1.Android控件之TextView探究 2.Android控件之EditView探究 3.Android控件之CheckBox.RadioButton探究 4.Android控件之ImageView探究 5.Android控件之GridView探究 6.Android控件之ListView探究一 7.Android控件之ListView探究二 8.Android控件之ToggleButton探究 9.Android控件之DatePicker.TimePicker探究 10.Android控

Android控件系列之RadioButton&amp;RadioGroup

学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

Android控件系列之RadioButton&amp;RadioGroup 【转】

学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

Android控件系列之RadioButton&amp;RadioGroup(转)

学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

android 控件onClick事件的4种实现方式

1. <span style="white-space:pre"> </span>TextView tv = (TextView) findViewById(R.id.tv); tv.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //do something... }

android控件开发之Spinner控件

android控件开发之Spinner控件 概述:android中,Spinner控件主要是用来显示下拉列表,同时,用户可以选择列表中的数据,作为当前的选择 java代码: 此代码中使用了两种方法给Spinner提供数据(method 1和method 2).运行时任选其一即可 方法一: 使用的动态list的形式给Spinner提供数据 方法二: 使用的Strings.xml中定义的固定String array提供数据 根据项目需要,选择相关方法即可 package com.example.sp

Android 控件的触摸事件传递与处理

了解Android控件的触摸事件传递与处理对我们日常开发中自定义控件和触摸事件冲突解决有重大意义.Android控件的触摸事件传递和处理主要有以下几个方法,下面一一介绍. 一.与触摸事件有关的几个方法 boolean dispatchTouchEvent(MotionEvent ev);                                                                                               接收到触摸事件时,是否