此功能只支持移动应用程序。
datetime组件显示日期和时间值。
有关更多信息,请参见 Datetime API。
图Datetime组件
图Datetime层次结构
添加一个Datetime组件
创建一个datetime组件:
1.添加组件的datetime elm_datetime_add() ()功能:- Evas_Object *datetime, *parent;
- 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 :上午/下午场
设置 小时 和 一分钟 字段可见:- elm_datetime_field_visible_set(datetime, ELM_DATETIME_HOUR, EINA_TRUE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_MINUTE, EINA_TRUE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_YEAR, EINA_FALSE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_MONTH, EINA_FALSE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_DATE, EINA_FALSE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_AMPM, EINA_FALSE);
复制代码
使用Datetime风格
datetime有以下方式:
date_layout
time_layout
time_layout_24hr
例如,设置风格 date_layout :- 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”:- elm_datetime_format_set(datetime, "%d%B%Y");
复制代码
说明符可用的完整列表,请参阅 Datetime API。
使用Datetime值
日期和时间的值可以设置和检索 elm_datetime_value_set() ()和 elm_datetime_value_get() ()函数使用一个 tm 结构和相关的api。
当地时间设置的datetime值:- time_t local_time = time(NULL);
- struct tm *time_tm = localtime(&local_time);
- struct tm t = *time_tm;
-
- elm_datetime_value_set(datetime, &t);
复制代码
检索和打印的datetime值当前日期:
- struct tm t;
-
- elm_datetime_value_get(datetime, &t);
-
- printf("%d %d %d", t.tm_mday, t.tm_mon, t.tm_year);
复制代码
使用Datetime回调
对datetime接收通知事件,听以下信号:
改变了 :datetime字段值发生了改变。
语言,改变了 ,changed:系统语言环境的变化。
注意:
在API参考信号列表可以更广泛,但只有上面的信号实际上是支持Tizen。
在这两个信号 event_info 回调参数是 零 。
登记和定义一个回调 改变了 信号:- {
- evas_object_smart_callback_add(datetime, "changed", changed_cb, data);
- }
- // Callback for the "changed" signal
- // Called when the datetime fields change
- void
- changed_cb(void *data, Evas_Object *obj, void *event_info)
- {
- dlog_print(DLOG_INFO, LOG_TAG, "Datetime field changed. \n");
- }
复制代码 注意:除了如上所述,这下许可的内容 LGPLv2.1 +。
标签: |