文档章节

【Android】时间选择器,选择日期DatePicker 简单详解demo及教程

程序员小冰
 程序员小冰
发布于 2016/10/27 21:45
字数 450
阅读 95
收藏 0

作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing
首先给大家看一下我们今天这个最终实现的效果图:
这里写图片描述
这个比较简单,具体效果UI图以及时间显示样式,大家可以自己修改。
总体来说,这个效果实现起来还是比较简单的,我相信你能够移植到自己的项目中。
布局比较简单,就有一个button以及textview。所以我就先放java实现代码吧:

package daviddatepickerdemo.qq986945193.com.daviddatepickerdemo;


import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
/** * @author :程序员小冰 * @新浪微博 :http://weibo.com/mcxiaobing * @GitHub: https://github.com/QQ986945193 * @CSDN博客: http://blog.csdn.net/qq_21376985 * @码云OsChina :http://git.oschina.net/MCXIAOBING */

/** * 时间选择器 */
public class MainActivity extends Activity {
    int mYear, mMonth, mDay;
    Button btn;
    TextView dateDisplay;
    final int DATE_DIALOG = 1;

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

        btn = (Button) findViewById(R.id.dateChoose);
        dateDisplay = (TextView) findViewById(R.id.dateDisplay);

        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                showDialog(DATE_DIALOG);
            }
        });

        final Calendar ca = Calendar.getInstance();
        mYear = ca.get(Calendar.YEAR);
        mMonth = ca.get(Calendar.MONTH);
        mDay = ca.get(Calendar.DAY_OF_MONTH);
    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_DIALOG:
                return new DatePickerDialog(this, mdateListener, mYear, mMonth, mDay);
        }
        return null;
    }

    /** * 设置日期 利用StringBuffer追加 */
    public void display() {
        dateDisplay.setText(new StringBuffer().append(mMonth + 1).append("-").append(mDay).append("-").append(mYear).append(" "));
    }

    private DatePickerDialog.OnDateSetListener mdateListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            mYear = year;
            mMonth = monthOfYear;
            mDay = dayOfMonth;
            display();
        }
    };
}

xml布局文件代码如下:

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

    <TextView  android:id="@+id/dateDisplay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是默认时间显示"/>

    <Button  android:id="@+id/dateChoose" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选择日期" />
</LinearLayout>

好了,教程到此结束。如果此文章帮到了你,欢迎点赞。
源代码需要的可以去
(AndroidStudio版)github下载地址:
https://github.com/QQ986945193/DavidDatePickerDemo

本文转载自:http://blog.csdn.net/qq_21376985/article/details/52551591

程序员小冰

程序员小冰

粉丝 14
博文 166
码字总数 1639
作品 4
深圳
架构师
私信 提问
哪位安卓开源高手可以帮忙做一个Demo出来?谢谢啦

Github上的一个开源项目,兼容2.2系统的HOLO风格DatePicker,可以再老版本安卓上实现4.0风格的Datepicker日期选择器。 这个项目需要引用其他两个项目,我全部下载下来,自己整合一下,发现还...

RalfLance
2014/10/11
366
0
时间与日期选择器——Mars Android开发视频之第一季第十六集(重)

1· TimePicker的使用方法 TimePicker的样子(4.2版本): 下面,我们来添加一个TimePicker: 这样,就添加上了: 1.1 获取用户选择的时间: 声明成员变量: 接着获取这个控件: 然后实现Tim...

周田
2015/08/21
204
0
android常用组件之DatePicker和TimePicker

在android中,DatePicker组件和TimePicker组件分别是日期选择器和时间选择器。 该实例中,当点击日期选择器按钮后,弹出日期选择框,用户选择日期后andoid会将日期显示到TextView组件中;当点...

sometimesno1
2014/12/20
309
0
简述UIDatePicker的用法

1.Locale 设置DatePicker的地区,即设置DatePicker显示的语言。 1.跟踪所有可用的地区,取出想要的地区 NSLog(@"%@", [NSLocale availableLocaleIdentifiers]); 2. 设置日期选择控件的地区 [d...

mahb520
2014/10/13
20.1K
0
android 日期问题

我现在遇到一个问题,如果,在主界面中点击TextView 控件,进入这个日期界面,但是,不选择日期,直接按手机上的返回键,日期界面消失,发现把这个日期写到我的TextView控件中了,实际上,这...

天王盖地虎626
2014/10/16
142
2

没有更多内容

加载失败,请刷新页面

加载更多

log4j起不来: No appenders could be found for logger

在mvn test时,log4j一起起不来,log message打不出来 原因: log4j.properties 文件没不存在,或存在,但放错路径 解:把log4j.properties放入mvn 默认的resources跑路径下面:./src/main/...

Rebecca_Hu
11分钟前
3
0
ETH 开发工作记录

测试是否连接成功 String web3ClientVersion = web3j.web3ClientVersion().send().getWeb3ClientVersion(); log.info("version=" + web3ClientVersion);...

xiaodong16
13分钟前
1
0
ntpserver配置

# For more information about this file, see the man pages # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). driftfile /var/lib/ntp/drift # Permit ti......

Archer99
19分钟前
2
0
技术分享 | delete 语句引发大量 sql 被 kill 问题分析

作者:王航威 有赞 MySQL DBA,擅长分析和解决数据库的性能问题,利用自动化工具解决日常需求。 现象 某个数据库经常在某个时间点比如凌晨 2 点或者白天某些时间段发出如下报警 [Critical][p...

爱可生
24分钟前
3
0
Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置

Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能。通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、CPU等信息,系统的线程...

朝雾轻寒
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部