流星悟语 发表于 2015-10-26 16:21:48

Tizen应用程序Ctxpopup组件添加

此功能只支持移动应用程序。

上下文弹出(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");
}注意:
除了如上所述,这下许可的内容LGPLv2.1 + 。
页: [1]
查看完整版本: Tizen应用程序Ctxpopup组件添加