在 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开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是...
本资源为本人博客《Android五种显示Dialog的方法实现(附图+附源码)》使用的代码,里面含五种实现Dialog的方法,感兴趣的可以看看
Android Dialog对话框用法演示实例,通过...所以我们要学习好Android 中的dialog生成各种对话框的用法,并在适当的地方灵活运用。比如一些常用的场景就是:用户登录提示、网络正在下载提示、下载成功与失败的提示等。
AndroidDialog用法总结.pdf
Android dialog对话框用法实例,在dialog上显示一些按钮,并赋值,演示动作脚本的过程,教你android对话框的使用。
本文实例展示了Android中Dialog去黑边的方法。并且分为保留阴影与不保留阴影两种实现方法。供大家参考借鉴。具体实现方法如下: 1.不保留阴影 代码如下: <?xml version=1.0 encoding=utf-8?> <style ...
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...
主要给大家总结了一些关于Android中Dialog对话框的使用方法,这其中包括普通对话框、确定取消对话框、多按钮对话框、列表对话框、带Adapter的对话框、单选对话框以及多选对话框等,需要的朋友可以参考学习,下面来...
主要介绍了Android 开发之Dialog中隐藏键盘的正确使用方法的相关资料,主要说明Dialog 隐藏键盘的注意事项,需要的朋友可以参考下
详细描叙了android中dialog的用法
pod 'AndroidDialog' 手动地将AndroidDialog目录中的所有文件复制到您的项目中。 :person_in_bed: 相依性JustLayout :red_heart: 贡献欢迎您分叉并提交拉取请求。 :bookmark: 执照AndroidDialog是开源软件,已获得...
安卓使用弹框做到倒计时的用法,分别使用MaterialDialog、AlertDialog来做了一个小demo
android dialog用法总结以及自定义底部dialog
本例知识点:Dialog透明,圆角,及GridView的简单用法。 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > ...
一些关于Dialog用法
一个Android 源码:演示如何制作一个简单的提示框和选择对话框,是Android Dialog的用法展示源码,对话框可自动根据分辨率来显示整体的外观样式,横屏状态下,宽高互换,按竖屏模式计算scale。高宽比小于等于标准比...
本文实例讲述了Android编程中自定义dialog用法。分享给大家供大家参考,具体如下: dialog是android中提供的一组弹出提示框,非常好用,可是它的样式是一个定式,有时候我们需求定义一些自己的样式 1、定义一个样式...
1.自定义动画属性文件 2.定义方法动态加载独立的dialog文件 3.在基类中初始化后直接调用mLoading.show()