Android提供了日期和时间的widget。
日期widget
DatePicker和DatePickerDialog,DatePickerDialog是装载DatePicker的一个简单的容器,如图所示。分别有一个触发方法OnDateChangedListener( ) 和OnDateSetListener( )。
在这个例子中,我们设置了两个button和一个textView,当按键弹出DatePickDialog。
步骤1:一些有关时间的java函数
- 获得当前时间的实例:Calendar calendar = Calendar.getInstance();
- 获得当前时间:calendar.get(Calendar.YEAR),通过设置参数可获得年,月,日,时,分,秒
- 设置时间:calendar.set(Calendar.YEAR,2011),可设置年,月,日,时,分,秒
- 用String给出当前的时间信息,可以使用Java的SimpleDateFormat,如下处理:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //可以设置不同的类型
通过sdf.format(calendar.getTime()就可以获得相关的info string,可供出来
步骤2:设置Android XML文件并编写有关的代码(略去)
步骤3:弹出日期Dialog,并设置Set的触发回调函数
new DatePickerDialog(
/*参数1:context,在我的例子是内部类中调用,所有需指明this是那个this*/
Chapter9Test1.this,
/*参数2:设置Set日期的回调函数*/
dateSet,
/*参数3,4,5:设置的年月日*/
calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE)).show()
;
最后一个show()表示将dialog显示出来。Set的回调函数,是OnDateSetListener(),如下:
DatePickerDialog.OnDateSetListener
dateSet = new DatePickerDialog.OnDateSetListener() {
public void onDateSet
(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, monthOfYear);
calendar.set(Calendar.DATE, dayOfMonth);
}
};
时间widget
日期的非常相似,TimePickerDialog(可以通过OnTimeSetListener设置回调函数)是装载TimePicker(可通过OnTimeChangedListener设置回调函数)的简单Dialog的容器。
弹出Dialog,可以照着画瓢,采用如下方式。同样的第一个参数是context,第二个参数是回调函数,第三和第四是时和分,第5个参数表示是否24小时制的显示方式。
new TimePickerDialog(Chapter9Test1.this, timeSet, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show()
;
对于回调函数timeSet,可通过如下设置:
TimePickerDialog.OnTimeSetListener
timeSet = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet
(TimePicker view, int hourOfDay, int minute) {
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE,minute);
}
};
在Activity中调起Dialog的其他方式
在上面的例子中,创建了xxxPickerDialog,通过show()方法将它们调起来。在Android的Tutorial的例子在,可以重写Acitivity的onCreateDialog方法来实现,下面以调起日期的Dialog为例子。
public class Chapter9Tutorial1
extends Activity
{
... ...
//步骤1:给出我们需要显示的不同Dialog的ID
,以便能判断显示哪个Dialog
static final int DATE_DIALOG_ID = 0;
//步骤2:通过
showDialog(Dialog ID)调起相应的Dialog
protected void someMethod(.... ) {
... ...
showDialog(DATE_DIALOG_ID);
... ...
}
//重写Acitivity的方法
onCreateDialog(int id),该方法告诉showDialog()
,要显示哪个Dialog,给出Dialog的对象
protected Dialog onCreateDialog(int id) {
switch(id){
case
DATE_DIALOG_ID:
return new DatePickerDialog(
this,mDateSetlisten,mYear,mMonth,mDay);
... ...
}
return super.onCreateDialog(id);
//或者直接return null;
}
}
模拟时钟和数字时钟
前面的例子,我们通常要设置某个日期或者时间,如果我们只是想向用户显示当前的时间,可以采用模拟始终和数字时钟。如图所示,下面是相关的Android XML文件:
<RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<AnalogClock
android:id="@+id/c91_analog"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true" />
<DigitalClock
android:id="@+id/c91_digital"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/c91_analog" />
</RelativeLayout>
计时器Chronometer
Android提供一个计时器Chronometer,这个widget的类似DiagitalClock,在XML中通过使用<Chronometer ... />
来定义。下面是来自Android reference的一个例子。最上面的就是Chronometer widget。
有下面几个关键的控制函数:
- start():开始实时更新计时器
- stop():停止实时更新计时器,注意,实际上计时器还在走
- setbase():设置初始的基准时间,如果设置当前时间,setBase(SystemClock.elapsedRealtime()),即重置计时器,计时器归零
- format():设置显示格式,缺省为MM:SS或者H:MM:SS,如果我们希望显示的内容是"我的计时器 00:00",可以使用format("我的计时器 %s"),第一个%s,表示缺省的时间格式。如果清空格式,采用缺省的,看通过format(null)来实现。
等级羽毛球
周六时单位网络公布了今年羽毛球比赛的赛时,和往常并一样,这次取消了女单,增加了双打,不是男双,不是女双,不是混双,是权双。必须是三级部门领导以上,必须其中一人是二级部门领导,性别不限。也就是现在打球人是分三六九等,至于“地位”相当的人,只有资格站在同一球场上。好像印度的种姓也在搞类似的东西。人群中存在分工不同,有些人能力强些,责任大写,得到的报酬也不同,但是人群中没有等级,生不带来死不带去的。在球场上,总是场外的事情太多,就像足球。
相关链接:我的Andriod开发相关文章
分享到:
相关推荐
在Android开发中,日期和时间的处理是常见且重要的任务,Android系统提供了专门的Widget来帮助开发者实现这一功能。本文将详细讲解如何使用DatePicker和TimePicker Widget,以及它们的Dialog形式,即...
学习笔记请看我写的文章: Java开发 - 尚硅谷JavaWeb学习笔记 - Part1: https://blog.csdn.net/qq_63317769/article/details/139883728 Java开发 - 尚硅谷JavaWeb学习笔记 - Part2: Java开发 - 尚硅谷JavaWeb...
本篇学习笔记主要探讨这两种控件的使用和特性。 首先,`ProgressBar`通常用于呈现一个非交互式的进度条,它能够以不同样式展示进度,如水平、垂直或者旋转等形式。在XML布局文件中,我们可以使用以下方式创建一个`...
《Android 群英传》读书笔记:自定义 View ---- 音频条形图 博客地址:http://blog.csdn.net/like_program/article/details/53352899
学习时的笔记及相关代码,笔记可见:https://blog.csdn.net/Morganfs/article/details/123926929?spm=1001.2014.3001.5501 学习来源:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd ...
而RelativeLayout是一种布局管理器,用于组织Android界面中的各个组件(Widget),它允许组件相对于其他组件或父容器的位置进行定位,提供了丰富的对齐和布局选项。本篇笔记将详细探讨如何在Activity中使用...
本篇笔记主要关注在Activity中如何使用TableLayout和ScrollView这两种布局组件。 TableLayout是Android中的一个布局容器,它允许开发者按照表格的形式组织界面元素。TableLayout由TableRow组成,每个TableRow则包含...
本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中系统地介绍了Android的基本概念和开发技术。 一、Android系统架构 Android系统架构是Android开发的基础,系统架构包括Linux Kernel、...
### Android学习笔记概览 #### 一、基础概念 1. **开篇介绍:** - 开始学习Android开发之前的基础介绍。 2. **框架简介:** - 对Android开发中的常用框架进行简单说明。 3. **工具介绍:** - Android开发中使用...
在“Android 学习笔记(十三):Activity-GridView”这篇笔记中,主要讲解了如何在Activity中使用GridView以及如何自定义适配器来实现特定的UI效果。以下是关于这个主题的详细知识点: 1. **GridView基本概念**: ...
现代OpenGL+Qt学习笔记之二:程序框架http://blog.csdn.net/chaojiwudixiaofeixia/article/details/77917697源码。
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
本篇笔记将深入探讨XML布局和Widget的使用。 首先,XML布局中的填充策略对于Widget的排列至关重要。`fill_parent`属性(在新版本中改为`match_parent`)意味着一个组件将占用其父布局的全部剩余空间。如果多个...
MSPM0G3507学习笔记1:开发环境_引脚认识与点灯 今日速通一款Ti的单片机用于电赛:MSPM0G3507 这里默认已经安装好了Keil5_MDK 首先声明一下: 因为是速成,所以需要一定单片机学习基础,然后我写的也不会详细,这个...
在Android开发中,多页显示通常涉及到Tab界面,这是一种用户友好的设计,使得用户能够轻松地在不同的功能或内容之间切换。Tag的使用在此过程中扮演着重要的角色,它提供了对各个页面的标识和管理。 **1. TabHost与...
本项目是一款基于Python语言及Django框架和PySide2库开发的学习笔记应用——CloudNote。该应用致力于为用户提供一个便捷的云端笔记记录平台。 技术构成: - 主要编程语言:Python - 前端页面实现:PySide2(用于...
### Android开发学习笔记 #### Button按钮的实现与交互 在Android开发中,`Button`控件是最常用的用户界面元素之一,用于触发特定的操作或事件。本文档将详细讲解如何创建并自定义一个简单的按钮,并设置点击事件...
2. **布局设计**:Android Studio会自动生成一个默认的布局文件(res/layout/activity_main.xml)。在这里,我们将看到一个简洁的界面,包含一个TextView和一个Button。TextView用于显示文本,而Button则是用户与...
这篇“Android学习笔记(二):安装环境”详细介绍了如何准备必要的软件和工具,让我们一起深入探讨这些步骤。 1. **Java Development Kit (JDK)**: JDK是Java开发的基础,包括了Java编译器、调试器和Java运行环境...