【Android从零单排系列十一】《Android视图控件

您所在的位置:网站首页 excel的日历控件如何添加标记 【Android从零单排系列十一】《Android视图控件

【Android从零单排系列十一】《Android视图控件

2023-11-26 23:26| 来源: 网络整理| 查看: 265

目录

一.日历、日期、时间组件基本介绍

二.几种常见的控件类型

1.CalendarView –日历控件

2. DatePicker –日期选择控件

3.TimePicker –时间选择控件

4.Chronometer—计时器控件

三.DEMO

前言

小伙伴们,在上文中我们介绍了Android视图控件ImageView控件,本文我们继续盘点,介绍一下视图控件的日历、日期、时间组件。

一.日历、日期、时间组件基本介绍

在 Android 应用开发中,CalendarView 、DatePicker和TimePicker实现选择日期时间、Chronometer实现计时器功能,本文结合实例形式分析了Android DatePicker和TimePicker、Chronometer组件的功能、常用函数、布局等。

二.几种常见的控件类型1.CalendarView –日历控件

CalendarView是Android上一个优雅、高度自定义、性能高效的日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示、任意日期拦截条件、自定义周起始等。

CalendarView 的特性 基于Canvas绘制,极速性能 热插拔思想,任意定制周视图、月视图,即插即用 支持单选、多选、范围选择、国内手机日历默认自动选择等选择模式 支持静态、动态设置周起始,一行代码搞定 支持静态、动态设置日历项高度、日历填充模式 支持设置任意日期范围、任意拦截日期 支持多点触控、手指平滑切换过渡,拒绝界面抖动 类NestedScrolling特性,嵌套滚动 既然这么多支持,那一定支持英语、繁体、简体,任意定制实现

android:firstDayOfWeek:设置一个星期的第一天 android:maxDate :最大的日期显示在这个日历视图mm / dd / yyyy格式 android:minDate:最小的日期显示在这个日历视图mm / dd / yyyy格式 android:weekDayTextAppearance:工作日的文本出现在日历标题缩写2. DatePicker –日期选择控件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:年列表选择的颜色3.TimePicker –时间选择控件

calendarViewShown 设置其是否显示CalenderView组件

endYear 允许选择的最后一年

maxDate 支持的最大日期

minDate 允许选择的最小日期

spinnerShown 是否显示Spinner 日期选择组件

startYear 设置日期选择器 允许选择的第一年

4.Chronometer—计时器控件

Chronometer是一个简单的计时器。

主要配置

format,显示格式,默认是"MM:SS"或"H:MM:SS",以%s来格式化。 countDown,是否倒计时,与base时间相比较 主要方法

start(),开始计时 stop(),停止计时 setBase(long),设置计时基准时间 setFormat(String),设置显示格式 setCountDown(boolean),设置是否是倒计时,只有版本大于24才有效 setOnChronometerTickListener(OnChronometerTickListener),设置监听器

三.DEMO

activity

package com.example.myfirtstproject; import android.app.Activity; import android.os.Bundle; import android.widget.CalendarView; import android.widget.DatePicker; import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; import java.util.Calendar; public class MainActivity extends Activity { //定义五个当前时间的变量 private int year ; private int month ; private int day ; private int hour ; private int minute ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker); TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker); //获取当前日期/时间 Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); day = calendar.get(Calendar.DAY_OF_MONTH); hour = calendar.get(Calendar.HOUR); minute = calendar.get(Calendar.MINUTE); //为DatePicker添加监听事件 datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { MainActivity.this.year = year; MainActivity.this.month =month ; MainActivity.this.day = day; //显示用户选择的 日期 和 时间 Toast.makeText(MainActivity.this,year+ "年"+month+ "月" + day+ "日"+hour+ "时"+minute+ "分",Toast.LENGTH_SHORT).show(); } }); //TimePicker选择监听器 timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { MainActivity.this.hour = hourOfDay; MainActivity.this.minute = minute; } }); CalendarView calendarview = (CalendarView) findViewById(R.id.calendarview); calendarview.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(MainActivity.this,"您选择的时间是:"+ year + "年" + month + "月" + dayOfMonth + "日",Toast.LENGTH_SHORT).show(); } }); } }

xml



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3