`
hilary3113
  • 浏览: 262498 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

Android中的Dialog用法大全(1)

阅读更多

       在 Android 中个种对话框效果的应用。常用对话框的使用,弹出式对话框、日期选择对话框、时间选择对话框、进度条对话框。这篇资料会让我们更了解Dialog的用法,下面我们就来看看代码吧:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView 
android:id="@+id/txtMsg" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<Button 
android:id="@+id/btn1" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>


<Button 
android:id="@+id/btn2" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>


<Button 
android:id="@+id/btn3" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>


<Button 
android:id="@+id/btn4" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>


<Button 
android:id="@+id/btn5" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>


<Button 
android:id="@+id/btn6" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

</LinearLayout>

 
这里我们一下定义了6个button,这些Button都是有用的,每一个Button都代表什么意思来让我们看看下面的代码:

package eoe.android.dialog;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Button;

public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 弹出式对话框的 Demo。先调用 Builder(),在 Create(), 需要显示对话框的是后再调用 show()
AlertDialog dialog = new AlertDialog.Builder(this).setTitle("弹出对话框").create();
dialog.show();

// 以下是各种对话框的 Demo
MyButtonClickListener listener = new MyButtonClickListener();
Button btn1 = (Button) this.findViewById(R.id.btn1);
btn1.setText("简单的对话框的 Demo");
btn1.setOnClickListener(listener);

Button btn2 = (Button) this.findViewById(R.id.btn2);
btn2.setText("包括常用设置的对话框(数据来自 xml)");
btn2.setOnClickListener(listener);

Button btn3 = (Button) this.findViewById(R.id.btn3);
btn3.setText("弹出的对话框的内容是一个 View");
btn3.setOnClickListener(listener);

Button btn4 = (Button) this.findViewById(R.id.btn4);
btn4.setText("日期选择对话框");
btn4.setOnClickListener(listener);

Button btn5 = (Button) this.findViewById(R.id.btn5);
btn5.setText("时间选择对话框");
btn5.setOnClickListener(listener);

Button btn6 = (Button) this.findViewById(R.id.btn6);
btn6.setText("进度条对话框");
btn6.setOnClickListener(listener);
}

class MyButtonClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {

// 具体的对话框的实现可以通过重写 onCreateDialog 完成

switch (v.getId()) {
case R.id.btn1:
Main.this.showDialog(0);
break;
case R.id.btn2:
Main.this.showDialog(1);
break;
case R.id.btn3:
Main.this.showDialog(2);
break;
case R.id.btn4:
Main.this.showDialog(3);
break;
case R.id.btn5:
Main.this.showDialog(4);
break;
case R.id.btn6:
Main.this.showDialog(5);
break;
}
}
}

@Override
public Dialog onCreateDialog(int id) {
switch (id) {

case 0:
// 一个简单的弹出对话框
return new AlertDialog.Builder(this).setTitle("这是一个简单的弹出对话框的 Demo")
.create();

case 1:
// 一个相对复杂的弹出对话框
return new AlertDialog.Builder(this)
.setTitle("标题") // 设置标题
// .setCustomTitle(View) // 以一个 View 作为标题 
.setIcon(R.drawable.icon01) // 设置标题图片
// .setMessage("信息") // 需要显示的弹出内容
.setPositiveButton("确定", new OnClickListener() { // 设置弹框的确认按钮所显示的文本,以及单击按钮后的响应行为
@Override
public void onClick(DialogInterface a0, int a1) {
TextView txtMsg = (TextView) Main.this.findViewById(R.id.txtMsg);
txtMsg.append("单击了对话框上的“确认”按钮\n");
}
})
.setItems(R.array.ary, new DialogInterface.OnClickListener() { // 弹框所显示的内容来自一个数组。数组中的数据会一行一行地依次排列
public void onClick(DialogInterface dialog, int which) {
}
})
// 其他常用方法如下
// .setMultiChoiceItems(arg0, arg1, arg2)
// .setSingleChoiceItems(arg0, arg1, arg2)
// .setNeutralButton(arg0, arg1)
// .setNegativeButton(arg0, arg1)
.create();

case 2:
// 弹出对话框为指定的 View 的 Demo
return new AlertDialog.Builder(this).setTitle("此对话框的内容是一个 View")
.setView(this.findViewById(R.layout.view)).create();

case 3:
// 弹出日期选择对话框
Calendar c = Calendar.getInstance();
return new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
TextView txtMsg = (TextView) Main.this.findViewById(R.id.txtMsg);
txtMsg.append("新设置的日期为:" + String.valueOf(year) + "-"
+ String.valueOf(monthOfYear) + "-"
+ String.valueOf(dayOfMonth) + "\n");
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE));

case 4:
// 弹出时间选择对话框
Calendar c2 = Calendar.getInstance();
return new TimePickerDialog(this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TextView txtMsg = (TextView) Main.this.findViewById(R.id.txtMsg);
txtMsg.append("新设置的时间为:" 
+ String.valueOf(hourOfDay) + ":"
+ String.valueOf(minute) + "\n");
}

}, c2.get(Calendar.HOUR), c2.get(Calendar.MINUTE), true);

case 5:
// 弹出进度条对话框
ProgressDialog progress = new ProgressDialog(this);
progress.setMessage("loading...");
return progress;

default:
return null;
}
}
}

 

分享到:
评论

相关推荐

    android dialog基本用法

    基本覆盖android dialog常见的用法。

    android中dialog用法集合

    android dialog用法集合与举例

    各种Android Dialog创建及其监听事件实现

    在Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是...

    Android五种显示Dialog的方法实现

    本资源为本人博客《Android五种显示Dialog的方法实现(附图+附源码)》使用的代码,里面含五种实现Dialog的方法,感兴趣的可以看看

    Android Dialog对话框用法演示实例.rar

    Android Dialog对话框用法演示实例,通过...所以我们要学习好Android 中的dialog生成各种对话框的用法,并在适当的地方灵活运用。比如一些常用的场景就是:用户登录提示、网络正在下载提示、下载成功与失败的提示等。

    AndroidDialog用法总结.pdf

    AndroidDialog用法总结.pdf

    Android dialog对话框用法实例.rar

    Android dialog对话框用法实例,在dialog上显示一些按钮,并赋值,演示动作脚本的过程,教你android对话框的使用。

    Android中Dialog去黑边的方法

    本文实例展示了Android中Dialog去黑边的方法。并且分为保留阴影与不保留阴影两种实现方法。供大家参考借鉴。具体实现方法如下: 1.不保留阴影 代码如下: &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;style ...

    android dialog与popwindow之间的简单运用

    注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...

    Android中Dialog对话框的使用小结

    主要给大家总结了一些关于Android中Dialog对话框的使用方法,这其中包括普通对话框、确定取消对话框、多按钮对话框、列表对话框、带Adapter的对话框、单选对话框以及多选对话框等,需要的朋友可以参考学习,下面来...

    Android 开发之Dialog中隐藏键盘的正确使用方法

    主要介绍了Android 开发之Dialog中隐藏键盘的正确使用方法的相关资料,主要说明Dialog 隐藏键盘的注意事项,需要的朋友可以参考下

    android dialog

    详细描叙了android中dialog的用法

    AndroidDialog:for适用于iOS的Android Dialog框架

    pod 'AndroidDialog' 手动地将AndroidDialog目录中的所有文件复制到您的项目中。 :person_in_bed: 相依性JustLayout :red_heart: 贡献欢迎您分叉并提交拉取请求。 :bookmark: 执照AndroidDialog是开源软件,已获得...

    android使用MaterialDialog和AlertDialog弹框Timer倒计时的用法

    安卓使用弹框做到倒计时的用法,分别使用MaterialDialog、AlertDialog来做了一个小demo

    dialog用法总结

    android dialog用法总结以及自定义底部dialog

    Android源码: 透明圆角Dialog

    本例知识点:Dialog透明,圆角,及GridView的简单用法。 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" &gt; ...

    一些关于Dialog用法

    一些关于Dialog用法

    Android 简单提示和选择对话框Dialog用法源码.rar

    一个Android 源码:演示如何制作一个简单的提示框和选择对话框,是Android Dialog的用法展示源码,对话框可自动根据分辨率来显示整体的外观样式,横屏状态下,宽高互换,按竖屏模式计算scale。高宽比小于等于标准比...

    Android编程中自定义dialog用法实例

    本文实例讲述了Android编程中自定义dialog用法。分享给大家供大家参考,具体如下: dialog是android中提供的一组弹出提示框,非常好用,可是它的样式是一个定式,有时候我们需求定义一些自己的样式 1、定义一个样式...

    Android项目中使用类似菊花的Dialog

    1.自定义动画属性文件 2.定义方法动态加载独立的dialog文件 3.在基类中初始化后直接调用mLoading.show()

Global site tag (gtag.js) - Google Analytics