【问题标题】:Howto add system-default selection designs to (gen)lists?如何将系统默认选择设计添加到(gen)列表?
【发布时间】:2021-05-28 19:43:39
【问题描述】:
我有一个不错的 genlist,我想为所有项目添加复选框 (/toggles)。
我检查了这些页面:
您可以在正文中提供开/关开关、复选框或单选按钮。
完美。怎么样?
我的目标是能够从列表中选择项目,或者是这样的:
或者像这样:
我知道我可以使用 item_styles。也知道我可以将自己的图像添加到swallow.end 或类似的。
但是有没有办法使用操作系统使用的相同设计?为了不破坏 UI 一致性?
【问题讨论】:
标签:
tizen
tizen-native-app
【解决方案1】:
在swallow.end 部分使用elm_check。
不知道你用的是什么风格
所以这里是样式为“1text.1icon.1”的示例
Evas_Object* _gl_icon_get(void *data, Evas_Object *obj, const char *part)
{
item_data *id = (item_data *)data;
Evas_Object *content = NULL;
if (strcmp(part, "elm.icon")) return NULL;
id->check = content = elm_check_add(obj);
elm_check_state_set(content, EINA_FALSE);
elm_check_state_pointer_set(content, &id->checked);
evas_object_show(content);
return content;
}
如果您想检查单击项目时更改的状态,
叫这个,
elm_check_state_set(id->check, !id->checked);
在项目的选择回调中。
您可以在 elm-demo-tizen-wearable/src/genlist.c 中查看完整代码
(https://review.tizen.org/gerrit/#/admin/projects/profile/wearable/platform/core/uifw/elm-demo-tizen-wearable,tizen 5.5 分支)。
希望您现在可以访问 review.tizen.org。
或者您可以在 tizen-studio 中查看警报示例。
但是复选框的外观会与您共享的图像不同,
我认为是因为版本差异,Tizen SDK 主题已经过时了..