前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓开发_浅谈DatePicker(日期选择器)

安卓开发_浅谈DatePicker(日期选择器)

作者头像
听着music睡
发布2018-05-18 12:51:24
2.3K0
发布2018-05-18 12:51:24
举报
文章被收录于专栏:Android干货Android干货

DatePicker继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改。如果要捕获用户修改日期选择控件中的数据事件,需要为DatePicker添加OnDateChangedListener监听器。

示例:

一、全局模式

1、布局文件

代码语言:javascript
复制
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <DatePicker
 8         android:id="@+id/id_datePicker1"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content" />
11 
12 </LinearLayout>

2、activity

代码语言:javascript
复制
 1 package base_ui;
 2 
 3 import java.util.Calendar;
 4 
 5 import com.example.allcode.R;
 6 
 7 import android.app.Activity;
 8 import android.app.DatePickerDialog;
 9 import android.app.DatePickerDialog.OnDateSetListener;
10 import android.os.Bundle;
11 import android.widget.DatePicker;
12 import android.widget.DatePicker.OnDateChangedListener;
13 
14 public class Ui_DatePicker extends Activity{
15     private DatePicker datapicker;
16     private Calendar cal;//显示当前日期
17     private int year;
18     private int month;
19     private int day;
20     private int hour;
21     private int minute;
22     
23     
24     
25     @Override
26     protected void onCreate(Bundle savedInstanceState) {
27         // TODO Auto-generated method stub
28         super.onCreate(savedInstanceState);
29         setContentView(R.layout.ui_datepickerdialog);
30         datapicker = (DatePicker) findViewById(R.id.id_datePicker1);
31         //获取日历的对象
32         cal=Calendar.getInstance();
33         //获取年月日时分秒信息
34         year = cal.get(Calendar.YEAR);
35         month = cal.get(Calendar.MONTH)+1;//注意点 ,要加一
36         day = cal.get(Calendar.DAY_OF_MONTH);
37         hour = cal.get(Calendar.HOUR_OF_DAY);
38         minute = cal.get(Calendar.MINUTE);
39         
40         setTitle("选择时间:"+year+"年-"+month+"月-"+day+"日 "+hour+"时-"+minute+"分");
41     
42         //datepicker
43         datapicker.init(year, cal.get(Calendar.MONTH), day, new OnDateChangedListener() {
44             
45             @Override
46             public void onDateChanged(DatePicker view, int year, int month, int day) {
47                 // TODO Auto-generated method stub
48                 month++;//注意点。要加一
49                 setTitle("当前时间:"+year+"年-"+month+"月-"+day+"日 "+hour+"时-"+minute+"分");
50             }
51         });
52     }
53 }

效果图:

二、对话框模式

对应上述示例42--51行代码

代码语言:javascript
复制
1 new DatePickerDialog(this, new OnDateSetListener() {
2             
3             @Override
4             public void onDateSet(DatePicker view, int year, int month, int day) {
5                 // TODO Auto-generated method stub
6                 setTitle("当前时间:"+year+"年-"+month+"月-"+day+"日 "+hour+"时-"+minute+"分");
7             }
8         }, year, cal.get(Calendar.MONTH), day).show(); //后三个参数相当于初始化

 效果图:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档