找回密码
 立即注册
查看: 3619|回复: 0

Tizen移动应用Datetime组件设置方法

[复制链接]
发表于 2016-4-17 12:36:15 | 显示全部楼层 |阅读模式
此功能只支持移动应用程序。
datetime组件显示日期和时间值。
有关更多信息,请参见 Datetime API。

图Datetime组件

Datetime层次结构

添加一个Datetime组件
创建一个datetime组件:

1.添加组件的datetime elm_datetime_add() ()功能:
  1. Evas_Object *datetime, *parent;

  2. datetime = elm_datetime_add(parent);
复制代码

2.选择字段的可见 elm_datetime_field_visible_set() ()函数。
以下字段的可见性可以控制:

ELM_DATETIME_YEAR :年字段
ELM_DATETIME_MONTH :月字段
ELM_DATETIME_DATE :日期字段
ELM_DATETIME_HOUR :小时字段
ELM_DATETIME_MINUTE :一分钟字段
ELM_DATETIME_AMPM :上午/下午场
设置 小时 和 一分钟 字段可见:
  1. elm_datetime_field_visible_set(datetime, ELM_DATETIME_HOUR, EINA_TRUE);
  2. elm_datetime_field_visible_set(datetime, ELM_DATETIME_MINUTE, EINA_TRUE);

  3. elm_datetime_field_visible_set(datetime, ELM_DATETIME_YEAR, EINA_FALSE);
  4. elm_datetime_field_visible_set(datetime, ELM_DATETIME_MONTH, EINA_FALSE);
  5. elm_datetime_field_visible_set(datetime, ELM_DATETIME_DATE, EINA_FALSE);
  6. elm_datetime_field_visible_set(datetime, ELM_DATETIME_AMPM, EINA_FALSE);
复制代码

使用Datetime风格
datetime有以下方式:

date_layout
time_layout
time_layout_24hr
例如,设置风格 date_layout :
  1. elm_object_style_set(datetime, "date_layout");
复制代码
注意:
注意下面的用户体验问题自Tizen 2.3:
的 elm_datetime 组件需要一个完整的格式,包括一年,月,日,小时,分钟和AM / PM。 每个样式显示特定字段的格式,限制了用户体验的概念:

date_layout (默认):年、月、日
time_layout :小时,分钟,AM / PM按钮
time_layout_24hr :小时,分钟
如果你所说的 elm_datetime_field_visible_set() ()函数的字段不支持在当前风格,功能不工作。


设置日期时间格式
日期和时间格式可以配置 elm_datetime_format_set() ()函数使用的组合允许Libc日期格式说明符。

设置格式“DD MM YY”:
  1. elm_datetime_format_set(datetime, "%d%B%Y");
复制代码

说明符可用的完整列表,请参阅 Datetime API。

使用Datetime值
日期和时间的值可以设置和检索 elm_datetime_value_set() ()和 elm_datetime_value_get() ()函数使用一个 tm 结构和相关的api。

当地时间设置的datetime值:
  1.   time_t local_time = time(NULL);
  2.   struct tm *time_tm = localtime(&local_time);
  3.   struct tm t = *time_tm;
  4.   
  5.   elm_datetime_value_set(datetime, &t);
复制代码

检索和打印的datetime值当前日期:
  1.   struct tm t;
  2.   
  3.   elm_datetime_value_get(datetime, &t);
  4.   
  5.   printf("%d %d %d", t.tm_mday, t.tm_mon, t.tm_year);
复制代码


使用Datetime回调
对datetime接收通知事件,听以下信号:

改变了 :datetime字段值发生了改变。
语言,改变了 ,changed:系统语言环境的变化。
注意:
在API参考信号列表可以更广泛,但只有上面的信号实际上是支持Tizen。
在这两个信号 event_info 回调参数是 零 。

登记和定义一个回调 改变了 信号:
  1. {
  2.    evas_object_smart_callback_add(datetime, "changed", changed_cb, data);
  3. }

  4. // Callback for the "changed" signal
  5. // Called when the datetime fields change
  6. void
  7. changed_cb(void *data, Evas_Object *obj, void *event_info)
  8. {
  9.    dlog_print(DLOG_INFO, LOG_TAG, "Datetime field changed. \n");
  10. }
复制代码
注意:除了如上所述,这下许可的内容 LGPLv2.1 +

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
欢迎来到泰泽网:http://www.tizennet.com/ 泰泽论坛:http://bbs.tizennet.com/ 好没有内涵哦,快到设置中更改这个无聊的签名吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|泰泽应用|泰泽论坛|泰泽网|小黑屋|Archiver|手机版|泰泽邮箱|泰泽网 ( 蜀ICP备13024062号-1 )

GMT+8, 2024-4-24 00:42 , Processed in 0.065392 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表