Я создаю коробку-контейнер на Tizen 4.0:
Evas_Object* box = elm_box_add(naviframe);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(box);
elm_object_content_set(naviframe, box);
Затем я хочу добавить в поле макет из edje:
Evas_Object* page = elm_layout_add(box);
elm_layout_file_set(page, "layout.edj", "groupname_in_layout");
evas_object_show(page);
elm_box_pack_end(box, page);
Затем вставляю коробку в экран:
elm_naviframe_item_push(naviframe, NULL, NULL, NULL, box, "empty");
Но макет не отображается в эмуляторе.
Однако, если я просто добавлю макет в навигационный фрейм (а не в поле), он отобразится:
//elm_box_pack_end(box, page);
elm_naviframe_item_push(naviframe, NULL, NULL, NULL, page, "empty");
Он также отображается, если я программно создаю ярлык и помещаю его в поле:
Evas_Object* text = elm_label_add(box);
elm_object_text_set(text, "<align=center>Hello Tizen</align>");
evas_object_show(text);
elm_box_pack_end(box, text);
elm_naviframe_item_push(naviframe, NULL, NULL, NULL, box, "empty");
Почему на Земле отрицает, что макет Box содержит единственно разумный макет в Tizen (Layout) ?? Особенно после прочтения их документации:
Вы можете добавить в ящик любой объект Evas.
Насколько мне известно, любое означает любое: поэтому Layout также является частью группы с именем any.