안녕하세요. 아래는 Tizen Sample Project v2.3.1(UI Components -> (Eext) Scroller -> Horizontal Pagecontrol) 의 일부 코드입니다.
scroller 에 image 를 추가하면 잘 나오지만 layout을 추가하니 화면이 나오질 않는데,
어떻게 하면 화면이 나올까요? 가능한 거겠죠?
어렵네요...
최종 목적은 배경 이미지 위에 (button) 이미지를 올려 callback 처리를 해야 합니다.
굳이 layout 을 올리지 못하면 image 위에 image라도 올려 처리하면 될거 같은데..
뭔가 방법을 알고 계시면 답글 좀 부탁드립니다.
void create_view(void *data) { app_data *ad; Evas_Object *scroller = NULL; Evas_Object *box = NULL; Evas_Object *rect = NULL; Evas_Object *circle_scroller = NULL; Evas_Object *ic = NULL; Evas_Object *layout = NULL; Evas_Object *start_box = NULL; Evas_Coord w, h; int i; if (!data) return; ad = (app_data *) data; scroller = elm_scroller_add(ad->nf); elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE); elm_scroller_page_size_set(scroller, ICON_WIDTH, 0); elm_scroller_page_scroll_limit_set(scroller, 1, 0); elm_object_scroll_lock_y_set(scroller, EINA_TRUE); evas_object_show(scroller); circle_scroller = eext_circle_object_scroller_add(scroller, ad->circle_surface); eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_OFF); eext_rotary_object_event_activated_set(circle_scroller, EINA_TRUE); box = elm_box_add(scroller); elm_box_horizontal_set(box, EINA_TRUE); elm_object_content_set(scroller, box); evas_object_show(box); rect = evas_object_rectangle_add(evas_object_evas_get(box)); evas_object_geometry_get(ad->nf, NULL, NULL, &w, &h); evas_object_size_hint_min_set(rect, (w - ICON_WIDTH) / 2, h); elm_box_pack_end(box, rect); for (i = 0; i < NUM_ITEMS; ++i) { // 마지막 페이지에 layout 추가했지만 영역은 잡히지만 아무것도 보이지 않음 if (i == (NUM_ITEMS - 1)) { char buf[PATH_MAX] = { 0, }; layout = elm_layout_add(box); sprintf(buf, "%s%s", app_get_resource_path(), "edje/dummy.edj"); elm_layout_file_set(layout, buf, "dummy_view"); evas_object_size_hint_min_set(layout, ICON_WIDTH, h); evas_object_show(layout); start_box = elm_box_add(layout); evas_object_size_hint_min_set(start_box, ICON_WIDTH, h); evas_object_show(start_box); elm_box_pack_end(box, start_box); } // 이미지를 추가하면 잘 보임 else { ic = elm_image_add(box); elm_image_file_set(ic, dummy_images[i % (sizeof(dummy_images) / sizeof(char *))], NULL); evas_object_size_hint_min_set(ic, ICON_WIDTH, h); evas_object_show(ic); elm_box_pack_end(box, ic); } } elm_box_pack_end(box, rect); Elm_Object_Item *it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, scroller, NULL); elm_naviframe_item_title_enabled_set(it, EINA_FALSE, EINA_FALSE); elm_naviframe_item_pop_cb_set(it, main_view_cb, ad); }