此功能只支持移动应用程序。
上下文弹出(ctxpopup)组件是一个上下文弹出,显示项目列表里面。
图:Ctxpopup组件
图:Ctxpopup层次结构
添加一个Ctxpopup组件
ctxpopup可以被创建 elm_ctxpopup_add () 功能,显示时,它会自动选择一个区域内它的父对象的视图(使用 elm_ctxpopup_hover_parent_set () 最优适应它。
- Evas_Object *ctxpopup, *parent;
- // Create a ctxpopup
- ctxpopup = elm_ctxpopup_add(parent);
复制代码
修改Ctxpopup风格
以下风格可供选择:
默认的
更多的 / 默认的
下拉 / 列表 (只对Tizen 2.3)
下拉 / 标签 (只对Tizen 2.3)
在Tizen 2.4中,下拉样式都不再支持。 使用一个 hoversel 组件的。
图:Ctxpopup默认(左)和更多/默认(右)的风格
下面的例子显示了如何设置 更多的 / 默认的 风格。
- elm_object_style_set(ctxpopup, "more/default");
复制代码 配置Ctxpopup
ctxpopup取向可以设置 elm_ctxpopup_horizontal_set () 。 在这里设置为水平。
- elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE);
复制代码
Ctxpopup当母公司的大小可以自动隐藏。 这种自动隐藏功能是默认启用。 你可以禁用自动隐藏通过调用 elm_ctxpopup_auto_hide_disabled_set () 函数与 EINA_TRUE 。
- elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
复制代码
ctxpopup可以设置优先级的方向是从哪里出现的:
- elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_RIGHT);
复制代码
你可以用一个动画隐藏ctxpopup通过调用 elm_ctxpopup_dismiss () 功能:
- elm_ctxpopup_dismiss(ctxpopup);
复制代码
管理Ctxpopup物品
ctxpopup可以包含少量的物品。 每个人都可以有一个标签,一个图标,或两者兼而有之。 下面的例子显示了如何添加一个条目 测试 标签、图标和 点击 回调( _ctxpopup_item_cb ):
- Elm_Object_Item *it;
- Evas_Object *icon;
- it = elm_ctxpopup_item_append(ctxpopup, "test", icon, _ctxpopup_item_cb, NULL);
复制代码
项目标签和图标可以改变如果标签和图标参数 零 当附加项。 下面的例子显示了如何改变物品标签 新 标签 :
- elm_object_item_part_text_set(it, "default", "New label");
复制代码
和它的图标修改标准 首页 图标:
- Evas_Object *home_icon = elm_icon_add(ctxpopup);
- elm_icon_standard_set(home_icon, "home");
- elm_object_item_part_content_set(it, "icon", home_icon);
复制代码
点击回调被称为当单击项目:
- static void
- _ctxpopup_item_cb(void *data, Evas_Object *obj, void *event_info)
- {
- dlog_print(DLOG_INFO, LOG_TAG, "ctxpopup item selected\n");
- }
复制代码
使用Ctxpopup回调
ctxpopup放出 驳回了 信号时解雇。 你可以注册一个回调这个信号。 的 event_info 参数是 零 。
- {
- evas_object_smart_callback_add(ctxpopup, "dismissed", dismissed_cb, data);
- }
- // Callback function for the "dismissed" signal
- // This callback is called when the ctxpopup is dismissed
- void dismissed_cb(void *data, Evas_Object *obj, void *event_info)
- {
- dlog_print(DLOG_INFO, LOG_TAG, "Ctxpopup dismissed\n");
- }
复制代码
标签:应用程序, tizen, Tizen开发, 组件 |