2016-08-19 1 views
2

Ich würde gerne das Touch-Ereignis auf einem Zifferblatt behandeln. Wie kann ich es tun? Ich möchte das Zifferblatt mit einer Info-Seite ändern, wenn der Benutzer die Uhr berührt.Wie behandelt man Berührungsereignis auf Tizen-Uhr?

+0

Sie können versuchen, in Ihrer Anwendung zu implementieren, um Touch-Gesten zu erkennen und darauf zu reagieren (z. B. Tippen). https://developer.tizen.org/ko/development/guides/native-application/user-interface/efl/ui-component-infrastructure-modules/handling-touch-gestures?langswitch=ko –

+0

Ist es nativ oder eine Webansicht ? –

Antwort

2

Sie können den Rückruf auf elementare Objekte unter Watchface Window einstellen.

Diese Quelle sollte Ihnen helfen. Verweisen Sie die Verwendung von evas_object_event_callback_add und dort das erste Argument.

#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); 
} 
0

Schnell Diagramm für "touch" (EVAS_CALLBACK_MOUSE_DOWN) Ereignishandle: enter image description here

Weitere Details here.

Verwandte Themen