Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studo Overview Download Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studo Overview Download Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE
more option 관련해서…
안녕하세요…
BasicUIApplication sample 에서
more option 과 rotary 를 혼합하여 테스트 중 입니다.
1) more option 을 누르기 전 : 베젤을 좌,우로 움직이면 eext_rotary_object_event_callback_add 에서
정의된 Eext_Rotary_Event_Cb로 이벤트를 받을 수 있었습니다.
2) more option 을 누른 후 : back 버튼 누른 후 다시 1번과 동일하게 베젤을 좌,우로 이동 시 정의된 Eext_Rotary_Event_Cb로 이벤트가 오지않으며,
오직,,,more option 상태에서만 Eext_Rotary_Event_Cb로 이벤트가 받아지고 있습니다.
위 같이 eext_more_option_add 와 eext_rotary_object_event_callback_add 을 같이 사용하여,
more option을 누른 후에도 more option의 item을 베젤을 통해 이벤트를 받고 싶으며,
또한, more option이 아닌 경우에도 베젤을 통해 이벤트를 받고 싶습니다. 방법 좀 부탁드립니다…..
혹여, 제가 테스트 했던 소스를 붙여 보도록 하겠습니다.
static void
create_base_gui(appdata_s *ad)
{
char edj_path[PATH_MAX] = {0, };
/* Window */
ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE);
elm_win_conformant_set(ad->win, EINA_TRUE);
elm_win_autodel_set(ad->win, EINA_TRUE);
if (elm_win_wm_rotation_supported_get(ad->win)) {
int rots[4] = { 0, 90, 180, 270 };
elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4);
}
evas_object_smart_callback_add(ad->win, “delete,request”, win_delete_request_cb, NULL);
/* Conformant */
ad->conform = elm_conformant_add(ad->win);
elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
elm_win_indicator_opacity_set(ad->win, ELM_WIN_INDICATOR_OPAQUE);
evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(ad->win, ad->conform);
evas_object_show(ad->conform);
evas_object_show(ad->win);
ad->circle_surface = eext_circle_surface_conformant_add(ad->conform);
ad->layout = elm_layout_add(ad->conform);
elm_layout_theme_set(ad->layout, “layout”, “application”, “default”);
evas_object_size_hint_weight_set(ad->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(ad->layout);
elm_object_content_set(ad->conform, ad->layout);
ad->nf = elm_naviframe_add(ad->layout);
elm_object_part_content_set(ad->layout, “elm.swallow.content”, ad->nf);
evas_object_show(ad->nf);
app_get_resource(EDJ_FILE, edj_path, (int)PATH_MAX);
ad->layout = elm_layout_add(ad->win);
elm_layout_file_set(ad->layout, edj_path, “main”);
evas_object_size_hint_weight_set(ad->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
eext_object_event_callback_add(ad->layout, EEXT_CALLBACK_BACK, layout_back_cb, ad);
evas_object_show(ad->layout);
elm_object_part_text_set(ad->layout, “main.view.title”, “Hello EFL”);
elm_object_content_set(ad->layout, ad->nf);
Evas_Object *more_option = eext_more_option_add(ad->layout);
for (int i = 0; i < 16; ++i) {
if (i == 0)
_creat_page(more_option, i);
else
_creat_page(more_option, i);
}
elm_object_part_content_set(ad->layout, “main.view.more”, more_option);
elm_naviframe_item_push(ad->nf , “More Option Demo”, NULL, NULL, ad->layout, “empty”);
rotary_init(ad);
}
void
rotary_init(appdata_s *ad)
{
eext_rotary_object_event_callback_add(ad->layout, _rotary_cb, ad);
eext_rotary_object_event_activated_set(ad->layout, EINA_TRUE);
}
BY
16 Apr 2025
Tizen Studio
BY
04 Nov 2024
Tizen Studio
BY
02 Apr 2024
Tizen Studio