Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 676|回复: 0

Android---UI篇---DatePicker,TimePicker(日期和时间)-  Andr

[复制链接]

该用户从未签到

发表于 2011-10-24 15:00:05 | 显示全部楼层 |阅读模式
日期和时间是任何手机平台都有的功能,Android也如此。
DatePicker:用来实现日期(年月日)
TimePicker:用来实现时间(时分秒)

Calendar:日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。
例如
final Calendar calendar=Calendar.getInstance();
  mYear=calendar.get(Calendar.YEAR);---获取年份
  mMonth=calendar.get(Calendar.MONTH);---获取月份
  mDay=calendar.get(Calendar.DAY_OF_MONTH);---获取日
  mHour=calendar.get(Calendar.HOUR_OF_DAY);---获取时
  mMinute=calendar.get(Calendar.MINUTE);---获取分
等等,可以参考API文档
TimePickerDialog、DatePickerDialog是对话框形式的时间类。

废话不多说,实例如下:
DateTest.java文件

Java代码
package org.loulijun.datetest;



import java.util.Calendar;



import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.TimePickerDialog;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.DatePicker;

import android.widget.TextView;

import android.widget.TimePicker;



public class DateTest extends Activity {

    /** Called when the activity is first created. */

        TextView textview;

        TimePicker timepicker;

        DatePicker datepicker;

        Button btn1;

        Button btn2;

        //JAVA中的Calendar类

        Calendar c;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        /*Like other locale-sensitive classes, Calendar provides a class method, getInstance,

        *for getting a default instance of this class for general use.

        *Calendar's getInstance method returns a calendar whose locale is based on system settings

        *and whose time fields have been initialized with the current date and time:

        */

        c=Calendar.getInstance();

        textview=(TextView)findViewById(R.id.textview);

        btn1=(Button)findViewById(R.id.button1);

        btn2=(Button)findViewById(R.id.button2);

        

        //获取DatePicker对象

        datepicker=(DatePicker)findViewById(R.id.datepicker1);

        //将日历初始化为当前系统时间,并设置其事件监听

        datepicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH),

                        new DatePicker.OnDateChangedListener() {

                                       

                                        @Override

                                        public void onDateChanged(DatePicker view, int year, int monthOfYear,

                                                        int dayOfMonth) {

                                                // TODO Auto-generated method stub

                                                //当前日期更改时,在这里设置

                                                c.set(year,monthOfYear,dayOfMonth);

                                        }

                                });

        //获取TimePicker对象

        timepicker=(TimePicker)findViewById(R.id.timepicker1);

        //设置为24小时制显示时间

        timepicker.setIs24HourView(true);

        //监听时间改变

        timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

                        

                        @Override

                        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {

                                // TODO Auto-generated method stub

                                //时间改变处理

                                //c.set(year,month,hourOfDay,minute,second);

                        }

                });

        

        btn1.setOnClickListener(new Button.OnClickListener()

        {

                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                new DatePickerDialog(DateTest.this,

                                                new DatePickerDialog.OnDateSetListener() {

                                                        

                                                        @Override

                                                        public void onDateSet(DatePicker view, int year, int monthOfYear,

                                                                        int dayOfMonth) {

                                                                        //设置日历        

                                                        }

                                                },c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();

                        }

        });

        

        btn2.setOnClickListener(new Button.OnClickListener()

        {



                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                new TimePickerDialog(DateTest.this,

                                                new TimePickerDialog.OnTimeSetListener() {

                                                        

                                                        @Override

                                                        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

                                                                // TODO Auto-generated method stub

                                                                //设置时间

                                                        }

                                                },c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),true).show();

                        }

               

        });

    }

}
复制代码

main.xml文件

Java代码
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    androidrientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView  

        android:id="@+id/textview"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="时间控件使用"

    />

<DatePicker

        android:id="@+id/datepicker1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

/>

<TimePicker

        android:id="@+id/timepicker1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

/>

<Button

        android:id="@+id/button1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="设置日期"

        android:layout_gravity="center"

/>

<Button

        android:id="@+id/button2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="设置时间"

        android:layout_gravity="center"

/>

</LinearLayout>
复制代码

运行结果如下:



当点击“设置日期”按钮后,就会显示如下对话框样式的DatePickerDialog



当点击“设置时间”按钮后,就会弹出如下对话框样式的TimePickerDialog

回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:00:09 | 显示全部楼层

Re:Android---UI

挺好的,顶一下了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:10 , Processed in 0.316121 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表