Android小程序-日历选择器
2016-04-17 09:18
519 查看
目标效果:
运行程序后会发现对话框后边的标题栏上显示了当前的日期和时间,在第一个时间对话框更改时间后显示日期对话框时,更改过的时间又显示到了标题栏上,当在日期对话框更改日期后,标题栏也显示出更改后的日期,进入页面滑动控件进行选择日期或者时间,都会显示在标题栏上。
1.首先在activity_main.xml页面放入两个选择器控件。
activity_main.xml页面:
2.在MainActivity.java页面进行事件处理。
MainActivity.java页面;
3.运行程序就可以显示目标效果了。
运行程序后会发现对话框后边的标题栏上显示了当前的日期和时间,在第一个时间对话框更改时间后显示日期对话框时,更改过的时间又显示到了标题栏上,当在日期对话框更改日期后,标题栏也显示出更改后的日期,进入页面滑动控件进行选择日期或者时间,都会显示在标题栏上。
1.首先在activity_main.xml页面放入两个选择器控件。
activity_main.xml页面:
<RelativeLayout 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" tools:context=".MainActivity" > <TimePicker android:id="@+id/tpTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/dpDate" android:layout_marginLeft="19dp" android:layout_marginTop="72dp" /> <DatePicker android:id="@+id/dpDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="84dp" /> </RelativeLayout>
2.在MainActivity.java页面进行事件处理。
MainActivity.java页面;
package com.example.selecttime; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.app.TimePickerDialog; import android.app.TimePickerDialog.OnTimeSetListener; import android.view.Menu; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedListener; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; public class MainActivity extends Activity { private TimePicker tpTime; //实例选择器控件 private DatePicker dpDate; private Calendar cal; //实例日期类 private int year,month,day,hour,minute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cal=Calendar.getInstance(); //获取日历对象 year=cal.get(Calendar.YEAR); //获取年月日时分秒 month=cal.get(Calendar.MONTH)+1; //获取到的月份是从0开始计数,所以需要加一 day=cal.get(Calendar.DAY_OF_MONTH); hour=cal.get(Calendar.HOUR_OF_DAY); minute=cal.get(Calendar.MINUTE); setTitle(year+"-"+month+"-"+day+" "+hour+":"+minute);//将日期时间显示在标题栏上 tpTime=(TimePicker) findViewById(R.id.tpTime); //获取控件 dpDate=(DatePicker) findViewById(R.id.dpDate); /** * dataPicker初始化,日期选择器的改变事件 * 第二个参数传递的是月份,默认自动加一,所以不能用之前手动加一的month值 */ dpDate.init(year,cal.get(Calendar.MONTH), day, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); //将更改后的显示到标题栏 } }); /** * timePicker初始化,时间选择器的改变事件 */ tpTime.setOnTimeChangedListener(new OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { setTitle(hourOfDay+":"+minute); } }); /** *日期选择对话框 */ new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); //将更改后的再显示到标题栏上 } }, year,cal.get(Calendar.MONTH), day).show(); //改变结果显示到控件上 /** * 时间对话框 */ new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { setTitle(hourOfDay+":"+minute); //将更改后的再显示到标题栏上 } }, hour, minute, true).show(); //改变结果显示到控件上 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
3.运行程序就可以显示目标效果了。
相关文章推荐
- 你的公众号为什么总是留不住粉丝
- android 6.0运行时权限的申请(微信在android 6.0上实现运行时请求权限的实现)
- iOS,Android调用手机QQ与指定用户或公众号聊天界面
- 使用补卡攻击微信银行卡案例
- 使用补卡攻击微信银行卡案例
- 抛砖微信公众号应用开发
- 一些小程序的练习(二)
- 一些小程序的练习(一)
- 关于微信安卓版计步作弊器
- 写到这里的第一个小程序
- 微信分享图片变黑
- 微信红包系统设计分享 | 如何扛住100亿次请求
- 微信开发
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- VS 星期作业 if else的应用 做一个受不受异性欢迎的小程序
- 高仿微信新消息提示音功能
- 使用cookie实现记录浏览商品的过程并能够清空浏览记录(简单的小程序不涉及到数据库的调取)
- 使用JSSDK集成微信分享遇到的一些坑
- 【转】微信扫描二维码登录网页是什么原理?
- 微信抽奖类游戏设计