目录(?)[-]

  1. DatePicker和TimePicker控件
  2. DigitalClock和AnalogClock控件

DatePicker和TimePicker控件

使用DatePicker和TimePicker,故名思议,用户可以对时间进行选择。XML代码如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout ...... > 
    <TextView ......  android:id="@+id/ui_date1"/>
    <DatePicker android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/ui_datepick"/>

<TextView ......  android:id="@+id/ui_time1"/> 
    <TimePicker android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/ui_timepick"/>   
</LinearLayout>

如果我们不在代码中设置日期和时间的值,初始时,DatePiker和TimePiker将设置为当前日期和时间。对于这两个控件,在代码中,我们可以它们进行读写操作。对于日期有:

TextView dateText = (TextView)findViewById(R.id.ui_date1);
dateText.setText("Set default date to 2013/1/1"); 
DatePicker dp = (DatePicker)findViewById(R.id.ui_datepick); 
//对DatePicker进行设置,使用dp.init(year, monthOfYear, dayOfMonth, onDateChangedListener) ,需要注意,月份的有效值是“0-11”,例如dp.init(2013, 1, 1, null);  则是设置2013.2.1 。
dp.init(2013,0,1,new DatePicker.OnDateChangedListener() {            
    //通过onDateChangedListener对日期发生变化进行触发 
    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        //注意:会被触发两次。由于Picker实际上包含日历和日期转盘两部分(会自动同步),日历和日期变化产生两次触发。但日历变化可以自动使日期变化,即则通过日历的日期变化只触发一次。
        Log.d("UiDateTimeTest","set Date to " + year+ "." + (monthOfYear+1)+"."+dayOfMonth);
        
    } 
}); 
dp.setCalendarViewShown(false);    //不显示日历部分,只显示日期转盘部分

对于时间:

//设置时间发生变化的处理  
TimePicker.OnTimeChangedListener timeChangedFunc = new TimePicker.OnTimeChangedListener() {   
    @Override 
    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 
        Log.d("UiDateTimeTest","Set time to "+hourOfDay + ":" + minute);
    } 
};

TextView timeText = (TextView)findViewById(R.id.ui_time1); 
timeText.setText("Set default time to 16:00"); 
TimePicker tp = (TimePicker)findViewById(R.id.ui_timepick); 
tp.setIs24HourView(true);  
tp.setCurrentHour(16);  
tp.setCurrentMinute(0);  
tp.setOnTimeChangedListener(timeChangedFunc); //这里用匿名类方式时,Eclipse显示错误,所以本例直接用对象

DigitalClock和AnalogClock控件

数字时钟和模拟时钟如图所示。和其他的空间不同,我们不能对它所显示的时间进行修改,它们将显示系统的实时时间。使用它们的一个方便是,我们不需要进行代码编写,它们可以自动地不断地进行同步和更新时间。XML如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout …… > 
    <DigitalClock android:layout_width="wrap_content"
        android:layout_height="wrap_content" /> 
    <AnalogClock android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>    
</LinearLayout>

相关链接: 我的Android开发相关文章

【转】Pro Android学习笔记(十七):用户界面和控制(5):日期和时间控件的更多相关文章

  1. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  2. 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

    目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...

  3. 【转】 Pro Android学习笔记(十九):用户界面和控制(7):ListView

    目录(?)[-] 点击List的item触发 添加其他控件以及获取item数据 ListView控件以垂直布局方式显示子view.系统的android.app.ListActivity已经实现了一个只 ...

  4. 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...

  5. 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式

    可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...

  6. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  7. 【转】 Pro Android学习笔记(八二):了解Package(1):包和进程

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见P ...

  8. 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

    目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...

  9. 【转】 Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode

    目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Conten ...

  10. 【转】 Pro Android学习笔记(五六):配置变化

    目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...

随机推荐

  1. CALL TRANSFORMATION 的方法生成XML文件

    *&---------------------------------------------------------------------**& Report  Z_BARRY_X ...

  2. 4G U盘版64位bitcoin专用挖矿操作系统

    这个操作系统是基于linux的操作系统,采用的ubuntu平台打造,所有的软件都已经安装齐备,是一个bitcoin专用挖矿操作系统,是64位的,对于显卡数量基本上没有限制,前提是你的主板支持足够多的显 ...

  3. Linux基础系列:常用命令(8)_shell script

    一.什么是shell script 将OS命令堆积到可执行的文件里,由上至下的顺序执行文本里的OS命令 就是脚本了. 再加上些智能(条件/流控)控制,就变成了智能化脚本了 二.变量命名规则 以字母或下 ...

  4. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...

  5. HackerRank - flipping-the-matrix 【数学】

    题意 一个矩阵中 每一行 每一列 都可以倒置 在不断进行倒置后 求 左上的那个 N * N 矩阵 的和 最大为多少 思路 M = 2 * N 通过 倒置特性 我们可以发现,最左上的那个矩阵 第 [I] ...

  6. 【LeetCode】【动态规划】Generate Parentheses(括号匹配问题)

    描述 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  7. Python 3 并发编程多进程之守护进程

    Python 3 并发编程多进程之守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemo ...

  8. css 行内元素 块元素 替换元素 非替换元素 以及这些元素的width height margin padding 特性

    一.各种元素的width height margin padding 特性(具体css元素的分来参看二) 1.块级元素 width. height. margin的四个方向. padding的四个方向 ...

  9. SPFA 算法(剪辑)(学习!)

    SPFA算法 单源最短路径的算法最常用的是Dijkstra,些算法从时间复杂度来说为O(n^2),但是面对含有负权植的图来说就无能为力了,此时 Dellman-ford算法就有用了,这咱算法是采用的是 ...

  10. LINQ 学习路程 -- 查询操作 Aggregate

    聚合操作执行数学的运算,如平均数.合计.总数.最大值.最小值 Method Description Aggregate 在集合上执行自定义聚集操作 Average 求平均数 Count 求集合的总数 ...