tizen - 如何处理 Tizen 表盘上的触摸事件?

标签 tizen tizen-wearable-sdk tizen-native-app

我想处理表盘上的触摸事件。 我该怎么做? 我想在用户触摸 watch 时通过信息页面更改表盘。

最佳答案

您可以在表盘窗口下设置对基本对象的回调。

这个来源应该对你有帮助。请参阅 evas_object_event_callback_add 的用法和第一个参数。

#include <sstream>
#include <watch_app.h>
#include <watch_app_efl.h>
#include <Elementary.h>

static int Count;

static bool app_create(int width, int height, void *data)
{
    Evas_Object *win;
    watch_app_get_elm_win(&win);
    evas_object_resize(win, width, height);

    Evas_Object *conform = elm_conformant_add(win);
    elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
    elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
    evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(win, conform);
    evas_object_show(conform);

    Evas_Object *box = elm_box_add(conform);
    evas_object_show(box);
    elm_object_content_set(conform, box);

    Evas_Object *label = elm_label_add(box);
    elm_object_text_set(label, "<align=center>0</align>");
    elm_box_pack_end(box, label);
    evas_object_show(label);

    auto on_touch_up = [](void* data, Evas *e, Evas_Object *obj, void *event_info)
    {
        Evas_Object* label = static_cast<Evas_Object*>(data);
        std::ostringstream ss;
        ss << "<align=center>" << Count++ << "</align>";
        elm_object_text_set(label, ss.str().c_str());
    };

    evas_object_event_callback_add(conform, EVAS_CALLBACK_MOUSE_DOWN, on_touch_up, label);

    evas_object_show(win);
    return true;
}


int main(int argc, char *argv[])
{
    watch_app_lifecycle_callback_s event_callback = {
            app_create, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr
    };
    return watch_app_main(argc, argv, &event_callback, nullptr);
}

关于tizen - 如何处理 Tizen 表盘上的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043092/

相关文章:

c - 调用 elm_naviframe_item_pop() 后对象变得可见时,Elementary 是否有一个发出的信号?

javascript - 在 Tizen Wearable 上设置蓝牙监听器

widget - 如何为我的智能 watch 打包 Tizen Web Widget 和 Tizen Web 应用程序?

tizen - 如何使用 Kiosk 模式创建 Tizen 可穿戴原生应用程序

c - Tizen 文档提供了 C header 但没有提供 Lib 名称?

c - Tizen nativ 可穿戴开发错误找不到二进制文件(/Users/yvonne/CeBIT/CeBIT/Debug/cebit)

tizen - 在 Samsung Tizen TV 模拟器中未获取正确的日志

tizen - 使用 tizen-sdk 请求证书时,浏览器无法初始化错误

html - 在 Tizen 网络应用程序中播放视频

c - 如何使用回调函数获取Tizen中区域变量的值?