前言

  本章翻译的是android.widget.DatePicker,版本为Android 2.2 r1,译为日期选择器。欢迎更多朋友一起参与Android API 的中文翻译行动!我的邮箱over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    农民伯伯:http://over140.blog.51cto.com/

    农民伯伯: http://www.cnblogs.com/over140/

正文

  一、结构

    public class DatePicker extends FrameLayout

    java.lang.Object

      android.view.View

        android.view.ViewGroup

          android.widget.FrameLayout

android.widget.DatePicker

  二、概述

    

    一个选择年月日的日历布局视图。对于对话框样式的日历视图,参见DatePickerDialog.

  三、公共方法

public int getDayOfMonth ()

获取选择的天数

public int getMonth ()

获取选择的月份。(注意:返回数值为0..11,需要自己+1来显示)

public int getYear ()

获取选择的年份

public void init (int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

初始化状态。(译者注:初始化年月日)

参数

year         初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:date.getYear() + 1900

monthOfYear 初始月。

dayOfMonth  初始日。

onDateChangedListener         日期改变时通知用户的事件监听,可以为空(null)。

public void setEnabled (boolean enabled)

设置视图的启用状态。该启用状态随子类的不同而有不同的解释。

参数

enabled  设置为true表示启动视图,反之禁用。

public void updateDate (int year, int monthOfYear, int dayOfMonth)

更新日期

  四、受保护方法

protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

重写使我们能够完全控制这小部件的保存或恢复。(译者注:此处直接调用了父类的ViewGroup. dispatchThawSelfOnly方法)

参数

container         SparseArray 持有保存以前的状态。The SparseArray which holds previously saved state.

protected void onRestoreInstanceState (Parcelable state)

允许视图重新应用以前通过onSaveInstanceState()生成代表内部的状态。这个函数决不调用一个空的状态。

参数

state       The frozen state that had previously been returned by onSaveInstanceState().

返回以前调用onSaveInstanceState()保存下来的状态。

protected Parcelable onSaveInstanceState ()

允许视图生成一个代表内部的状态,以后可用于创建一个与之相同的新的实例。这种状态应该只包含非持久或以后不能够重建的信息。例如,你决不存储你当前在屏幕上的位置,因为这会在视图的层面上重新计算放置一个新的实例。

你可以存储到这里的一些例子:一个文本框中当前光标的位置(但通常不是文字本身,文字通常保存在内容提供者(content provider)或其他持久的储存中),一个列表视图中的当前选中项。

返回值

返回一个包含视图当前状态的Parcelable对象,或没有什么状态保存时返回null。默认实现返回null。

  五、补充

    5.1  如果只想显示年月或者是月日,可以取巧用android:layout_marginLeft属性控制显示隐藏控件一部分。

    5.2  如果用Date初始化的时候,需要注意年的问题:

             Date date = new Date();
             dpDate.init(date.getYear() + 1900, date.getMonth(), 1, null);

      代码说明:dpDate为DatePicker控件。

    5.3  相关文章链接

      DatePicker的一些问题

      日期選擇器(DatePicker)和時間選擇器(TimePicker)

      Android中动态输入日期与时间-DatePicker与TimePicker应用

结束

  为了节约时间,从本章开始不提供PDF和WORD格式下载,定期出CHM格式的合集供大家下载。此外文章随时可能更新,请大家保持链接。

Android 中文 API (20) —— DatePicker相关推荐

  1. Android中文API (60) —— DatePicker.OnDateChangedListener

    前言 本章内容是android.widget.DatePicker.OnDateChangedListener,版本为Android 2.3 r1,翻译来自"cnmahj",欢迎大 ...

  2. Android ----中文Api 百度地图

    Android中文API最新中文版 [复制链接]     kupe kupe当前离线 在线时间 1 小时 e望 0 点 最后登录 2011-2-17 注册时间 2011-2-17 积分 12 阅读权限 ...

  3. Android 中文API (65) —— BluetoothClass[蓝牙]

    前言 本章内容是android.bluetooth.BluetoothClass,为Android蓝牙部分的章节翻译.用于描述远端设备的类型,特点等信息,通过getBluetoothClass()方法 ...

  4. Android 中文API (94) —— MediaController

    前言 本章内容是android.widget.MediaController,版本为Android 2.3 r1,翻译来自"唐明",再次感谢"唐明" !期待你一 ...

  5. Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

    前言 本章内容是 android.widget.AbsoluteLayout.LayoutParams,版本为Android 2.2 r1,翻译来自"绵白糖",再次感谢" ...

  6. Android 中文API (92) —— MenuInflater

    前言 本章内容是android.view.MenuInflater,版本为Android 2.3 r1,翻译来自"獨鍆躌踄",欢迎大家访问他的博客:http://www.cnblo ...

  7. Android 中文 API (90) —— WindowManager

    一.结构 public interface WindowManager extends android.view.ViewManager android.view.WindowManager 二.概述 ...

  8. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 r ...

  9. Android中文API(127) —— MessageQueue

    结构 继承关系 public class MessageQueue extends Object java.lang.Object android.os.MessageQueue 类概述 保存消息列表 ...

  10. android 中文 API (41) —— RatingBar.OnRatingBarChangeListener

    前言 本章内容是 android.widget.RatingBar.OnRatingBarChangeListener,版本为Android 2.2 r1,翻译来自madgoat,欢迎大家访问他的博客 ...

最新文章

  1. Hive UDF 函数指南
  2. 关于height、offsetheight、clientheight、scrollheight、innerheight、outerheight的区别
  3. Python 之父再度发声:我们能为中国的“996”程序员做什么?
  4. 程序员晒追女神聊天截图,坦言第一次没经验,网友直呼凭实力单身
  5. Java 线程 fork join 是什么 怎么用
  6. Linux内核入门(四)—— 内核汇编语言规则
  7. @AutoConfigureAfter注解
  8. angular 万年历_jQuery实现的简单日历组件定义与用法示例
  9. Jetty启动项目失败?两个命令解决address already in use问题
  10. networks.XXX.ipam.config value Additional properties are not allowed (‘gateway‘ was unexpected) 解决办法
  11. iOS MVVM + RxSwift 关键词zip 的调用时机问题
  12. android开发之UI
  13. 工具-如何屏蔽浏览器中的广告(Adblock Plus(广告屏蔽器))
  14. springboot同时接受文件和多个参数
  15. CAPL入门:结合panel面板实现按钮触发功能
  16. 【线段树】L - GTY‘s gay friends
  17. 2014年4月清明节厦门之旅
  18. openGL中的坐标系
  19. 数据交换中心的方案设计
  20. 照片位置信息提取(获取经纬度)

热门文章

  1. java 数学公式解析_JAVA 文本表达式解析成数学公式,计算出结果
  2. LINUX下载并编译sqlite
  3. UOS声势浩大,麒麟没有反应
  4. 华为的CPU怎样才能卖掉
  5. 编译OpenJDK12:运行提示缺少freetype
  6. FireFox 64位不支持NPAPI插件,不论是32位还是64位
  7. 模板(范型)的安全数组C++代码
  8. C语言应该增加交换值的关键字或语法
  9. 海康设备插上移动硬盘,空间为0的解决办法
  10. 用科学数据求真:地月之间不可能电视直播