文档章节

android:几种对话框分类(11)

f
 flyqilong
发布于 2016/01/23 18:06
字数 614
阅读 10
收藏 0
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	// 所有对话框记得要加.show()方法,否则不会显示出对话框

	// 普通对话框,(警告对话框 、提示对话框)
	public void alert(View view) {
		// 可以在监听里面实现自己的一些功能
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("提示");
		builder.setIcon(R.drawable.ic_launcher);
		builder.setMessage("您真的要退出?");
		builder.setNegativeButton("取消", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT)
						.show();// 没有实现功能,只是点击了提示一下
			}
		});
		builder.setPositiveButton("确定", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT)
						.show();
			}
		});
		builder.setNeutralButton("中立", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(MainActivity.this, "中立", Toast.LENGTH_SHORT)
						.show();

			}
		});
		builder.show();
	}

	// 进度对话框
	// 所有对话框记得要加.show()方法,否则不会显示出对话框
	public void progress(View view) {
		ProgressDialog dialog = new ProgressDialog(this);
		dialog.setTitle("提示");
		dialog.setIcon(R.drawable.ic_launcher);
		dialog.setMessage("正在下载");
		dialog.show();// 弹出一个对话框,显示一个去圈圈在加载

	}

	// 日期对话框,可以选择日期,当前日期
	public void date(View view) {
		Calendar calendar = Calendar.getInstance();// 获取当前时间
		int year= calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH);
		int day = calendar.get(Calendar.DAY_OF_MONTH);
		DatePickerDialog date = new DatePickerDialog(this,
				new OnDateSetListener() {

					@Override
					public void onDateSet(DatePicker view, int year,
							int monthOfYear, int dayOfMonth) {
						// 月要加一,因为是从0开始
						String datetime = year + "-" + (monthOfYear + 1) + "-"
								+ dayOfMonth;
						Toast.makeText(MainActivity.this, datetime,
								Toast.LENGTH_SHORT).show();

					}
				}, year, month, day);
		date.show();

	}

	// 时间对话框
	public void time(View view) {
		Calendar calendar = Calendar.getInstance();
		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		int minute = calendar.get(Calendar.MILLISECOND);
		TimePickerDialog time = new TimePickerDialog(this,
				new OnTimeSetListener() {

					@Override
					public void onTimeSet(TimePicker view, int hourOfDay,
							int minute) {
						String time = hourOfDay + "-" + minute;
						Toast.makeText(MainActivity.this, time,
								Toast.LENGTH_SHORT).show();

					}
				}, hour, minute, true);
		time.show();
	}

	// 自定义对话框,对话框中可以存放自己的布局控件
	public void custom(View view) {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("用户登录");
		builder.setIcon(R.drawable.ic_launcher);
		// 填充自定义的登录视图
		View loginView = LayoutInflater.from(this).inflate(R.layout.item, null);
		final TextView txet_name = (TextView) loginView
				.findViewById(R.id.text_name);
		final TextView txet_pass = (TextView) loginView
				.findViewById(R.id.text_pass);
		builder.setView(loginView);
		// 添加一个确定按钮
		builder.setPositiveButton("确定", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				String name = txet_name.getText().toString();
				String pass = txet_pass.getText().toString();
				setTitle(name + ":" + pass);
			}
		});
		builder.setNegativeButton("取消", null);
		builder.show();
	}
}

自定义对话框的自定义布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     >

    <EditText
        android:id="@+id/text_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名"
        android:inputType="textPersonName" />

    <EditText
        android:id="@+id/text_pass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码"
        android:inputType="textPassword" />

</LinearLayout>


© 著作权归作者所有

f
粉丝 3
博文 93
码字总数 53900
作品 0
Android工程师
私信 提问
几种不同的Android Dialog

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android...

等待流星
2015/02/25
0
1
Android 对话框(Dialog)大全 建立你自己的对话框

Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的...

无鸯
2011/12/17
2.9K
1
Android中的各种Dialog

下面是自己总结的Android常用的几种Dialog: 1.AlertDialog android中功能最丰富,用途最广的对话框。 // 1 创建一个Builder AlertDialog.Builder builder = new AlertDialog.Builder(this)...

Simpleness
2012/06/13
0
1
Android控件——7种形式的Android Dialog使用举例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android...

的书法上的
2014/08/27
0
0
[Android] Dialog--onPrepareDialog()和onCreateDialog

Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的...

枫兮兮
2014/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Hystrix 资料简单梳理

Hystrix 资料简单梳理 状态 Hystrix不再处于活动开发阶段,目前处于维护模式。 Hystrix(版本1.5.18)足够稳定,可以满足Netflix对现有应用程序的需求。与此同时,我们的重点已转向更具适应性...

晨猫
24分钟前
3
0
黑群晖部署

mark 下有空在玩 U盘安装 将U盘id写入到启动配置文件中(syslinux.cfg) https://www.douban.com/note/518491129/ https://www.nas2x.com/threads/dsm-6-2-1-20190221.29/...

以谁为师
29分钟前
2
0
页面性能优化办法有哪些?

摘要: 性能是最重要的用户体验之一。 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有。 引子 互联网有一项著名的8秒原则。用户在访问Web网页时,如果时间超过8秒就会感到不耐烦,如果...

Fundebug
29分钟前
1
0
arcgis api for js加载天地图

天地图有经纬度和墨卡托两种坐标系的切片 arcgis默认为墨卡托坐标系,可以切换二维/三维,加载经纬度切片时view需要设置wkid:4326

单线程生物
30分钟前
2
0
常用正则(含小程序验证)

小程序常用正则 使用样例 let roomNumber = that.data.roomNumber; if (roomNumber.length == 0) { wx.showToast({ title: '房间号不能为空', icon:......

whatwhowhy
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部