Android入门之日历选择与时间选择组件的使用

目录
  • 介绍
  • DatePicker有两种Style
  • TimePicker同样也有两种Style
  • 课程目标
  • 主界面代码
  • 后台交互代码
  • 运行效果

介绍

DatePicker日期选择器,自带spinner和calendar两种模式,相关属性:

  • android:calendarTextColor : 日历列表的文本的颜色
  • android:calendarViewShown:是否显示日历视图
  • android:datePickerMode:组件外观,可选值:spinner,calendar 前者效果如下,默认效果是后者
  • android:dayOfWeekBackground:顶部星期几的背景颜色
  • android:dayOfWeekTextAppearance:顶部星期几的文字颜色
  • android:endYear:去年(内容)比如2010
  • android:firstDayOfWeek:设置日历列表以星期几开头
  • android:headerBackground:整个头部的背景颜色
  • android:headerDayOfMonthTextAppearance:头部日期字体的颜色
  • android:headerMonthTextAppearance:头部月份的字体颜色
  • android:headerYearTextAppearance:头部年的字体颜色
  • android:maxDate:最大日期显示在这个日历视图mm / dd / yyyy格式
  • android:minDate:最小日期显示在这个日历视图mm / dd / yyyy格式
  • android:spinnersShown:是否显示spinner
  • android:startYear:设置第一年(内容),比如19940年
  • android:yearListItemTextAppearance:列表的文本出现在列表中。
  • android:yearListSelectorColor:年列表选择的颜色

TimePicker时间选择器,只有一个属性android:timePickerMode设置spinner和clock(默认);

CalendarView日历选择器,相关属性:

  • android:firstDayOfWeek:设置一个星期的第一天
  • android:maxDate :最大的日期显示在这个日历视图mm/ dd /yyyy格式
  • android:minDate:最小的日期显示在这个日历视图mm/ dd /yyyy格式
  • android:weekDayTextAppearance:工作日的文本出现在日历标题缩写

DatePicker有两种Style

第一种:android:datePickerMode="calendar"

第二种:android:datePickerMode="spinner" ,巨丑无比,就不要用了。

TimePicker同样也有两种Style

第一种:android:timePickerMode="clock" ,巨丑无比,就不要用了。

第二种:android:timePickerMode="spinner"

这两个控件常常会在项目里被自定义,因为系统自带的不怎么好看。

另外就是它们支持的事件很简单。就是选择完日期、时间后的onDateChanged和onTimeChanged。

下面我们来看代码。

课程目标

  • 纵向摆放一个TimePicker,一个DatePicker;
  • 选择后系统打印用户选择的时间、日期至LogCat;

主界面代码

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context=".MainActivity">

    <TimePicker
        android:id="@+id/timePickerSpinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:timePickerMode="spinner" />

    <DatePicker
        android:id="@+id/datepickerCalendar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:datePickerMode="calendar" />

</LinearLayout>

后台交互代码

package org.mk.android.demo.demodatepicker;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.DatePicker;
import android.widget.TimePicker;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
    private DatePicker dp;
    private TimePicker tp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dp = (DatePicker) findViewById(R.id.datepickerCalendar);
        tp=(TimePicker) findViewById(R.id.timePickerSpinner);
        dp.setOnDateChangedListener(new OnDateChanged());
        tp.setOnTimeChangedListener(new OnTimeChanged());
    }

    private class OnDateChanged implements DatePicker.OnDateChangedListener {
        @Override
        public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            StringBuffer selectedDateStr = new StringBuffer();
            selectedDateStr.append("您选择的日期是:").append(year).append("年").append(monthOfYear + 1).append("月").append(dayOfMonth).append("日");
            Log.i("app", selectedDateStr.toString());
        }
    }

    private class OnTimeChanged implements TimePicker.OnTimeChangedListener {
        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            StringBuffer selectedTimeStr = new StringBuffer();
            selectedTimeStr.append("您选择的时间是:").append(hourOfDay).append("时").append(minute).append("分");
            Log.i("app", selectedTimeStr.toString());
        }
    }
}

运行效果

请自己动动手试试吧。

以上就是Android入门之日历选择与时间选择组件的使用的详细内容,更多关于Android日历 时间选择组件的资料请关注我们其它相关文章!

(0)

相关推荐

  • Android中TimePicker与DatePicker时间日期选择组件的使用实例

    效果和代码都非常直观: 实例1:TimePicker <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_par

  • Android开发之TimePicker控件用法实例详解

    本文实例分析了Android开发之TimePicker控件用法.分享给大家供大家参考,具体如下: 新建项目: New Android Project-> Project name:HelloSpinner Build Target:Android 2.2 Application name:HelloSpinner Package name:com.b510 Create Activity:MainActivity Min SDK Version:9 Finish 运行效果: 如果: return

  • android中DatePicker和TimePicker的使用方法详解

    本文以实例讲述了android中DatePicker和TimePicker的使用方法,具体步骤如下: 下面是实现具体功能的代码,其中main.xml代码为: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&quo

  • Android开发之时间日期组件用法实例

    继上一篇时间和日期设置的示例之后,今天来介绍Android的布局组件中有关于时间和日期的设置的组件,希望对大家有所帮助.具体如下: 时间日期设置组件:TimePicker.DatePicker 在布局文件中直接可以添加到我们的布局样式中,具体代码如下: <LinearLayout android:id="@+id/linear1" android:orientation="vertical" android:layout_width="fill_pa

  • Android自定义dialog可选择展示年月日时间选择栏

    自定义dialog package com.poptest; import android.app.DatePickerDialog; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.DatePicker; //dialog类 public class YearPickerDialog extends DatePickerD

  • Android入门教程之组件Activity的生命周期详解

    目录 返回栈 Activity 状态 1. 运行状态 2. 暂停状态 3. 停止状态 4. 销毁状态 Activity 的生存期 onCreate() onStart() onResume() onPause() onStop() onDestroy() onRestart() 完整生存期 可见生存期 前台生存期 Activity 回收处理 返回栈 Android 中的 Activity 是可以层叠的,我们每启动一个新的 Activity,就会覆盖在原有的 Activity 之上,然后点击 Ba

  • Android开发之日历CalendarView用法示例

    本文实例讲述了Android开发之日历CalendarView用法.分享给大家供大家参考,具体如下: 简介: 1.CalendarView是安卓自带的一个日历控件 2.在主活动中 通过设置setOnDataChangeListener() 来为其添加监听事件 可在其中获得 洪湖所选择的年月日的 详细信息 实例: 基本设置方法: 1. 日历的整体背景颜色 android:selectedWeekBackgroundColor="#aff" 2. 月份选择部分的背景色 android:fo

  • Android入门之使用eclipse进行源码开发的方法

    本文实例讲述了Android入门之使用eclipse进行源码开发的方法.分享给大家供大家参考,具体如下: 一.版本说明: 1. eclipse for javaEE 3.5.2 2. jdk1.6 3. adt12.0 4. linux/Ubuntu10.04 或者 linux/ubuntu10.10 二.准备工作: 1. 下载 Android2.3.7 源码 欲了解具体内容可以参看 android 官网. 2. 编译源码 必须编译源码,否则会引发很多问题.记住:如果下载没问题的话,编译只是时间

  • Android 实现IOS 滚轮选择控件的实例(源码下载)

     Android 实现IOS 滚轮选择控件的实例 最近根据项目需要,整理了一个相对比较全面的 WheelView 使用控件,借用之前看到的一句话来说,就是站在巨人肩膀上,进行了一些小调整. 这里先贴上效果图 一般常用的时间选择格式,,单项选择,以及城市联动,这里基本都可以满足了. 这里把 单项选择,和 日期时间选择 给提出到 Util 类中,代码如下: public class Util { /** * 时间选择回调 */ public interface TimerPickerCallBack

  • vue.js实现仿原生ios时间选择组件实例代码

    前言 最近几个月一直在看VUE,然后试着只用原生js+vue实现某些组件. PC端时间选择组件 这是最开始实现的pc上的时间选择,平时移动端也在做,所以就想实现一下移动端的时间选择器,下面分享一下我实现移动端滚轮特效时间选择器的思路和过程.整个组件是基于vue-cli来进行构建的 功能 1.时间选择[ A.年月日选择 B.年月日小时分钟选择 C.小时分钟选择 D.分钟选择] 2.滚轮效果[ A.构成一个圆环首尾相连 B.不构成首尾相连] 3.时间选择范围设置(所选时间超过范围将弹窗提示),分钟间

  • 用jmSlip编写移动端顶部日历选择控件

    本文为大家分享了jmSlip移动端日历选择组件,可滚动选日期,并限制哪些日期可选和不可选. 主要用来根据后台返回生成一个日期选择器. 具体实现可关注jmslip: https://github.com/jiamao/jmSlip 示例:http://slip.jm47.com/demo/calendar/index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <

  • Android开发之拖动条和评分组件用法分析

    本文实例讲述了Android开发之拖动条和评分组件用法.分享给大家供大家参考,具体如下: 今天闲着没事做就拿出了Android书接着学习,android就是组件多有时候还会弄混淆了.这次介绍的是拖动条和评分组件,这2个组件也是超级简单的 下面就一个一个的来研究. 1. 拖动条,就类似android手机上调节音量那个,该组件和对话框不同的是用户可以操作.该组件的xml表现形式如下 <SeekBar android:id="@+id/seek" android:layout_marg

  • Android入门之源码开发基础教程

    本文讲述了Android入门之源码开发基础教程.分享给大家供大家参考,具体如下: 下载 Android 源码之后,接下来就是学习或者进行开发. 在开发之前,谈一些开发必备知识或者工具,工欲善其事必先利其器嘛! 在前面一篇<Android入门之使用eclipse进行源码开发的方法>中基本上说了开发使用工具. 但是我们如何使用模拟器开发呢?! 当然你去删除或者增加app到模拟器就不可以按常规来操作了,花 5 -10 分钟了解一下,如果你有需要. 0. 编译源码 直接在下载的源码根目录下面,执行:

  • React Native日期时间选择组件的示例代码

    React Native日期时间选择组件:react-native-datepicker,支持安卓和IOS双平台,支持单独选择日期.单独选择时间和选择日期和时间,支持自定义日期格式. 效果图 安装方法 npm install react-native-datepicker --save 示例代码 <Text style={styles.instructions}>time: {this.state.time}</Text> <DatePicker style={{width:

随机推荐