Как изменить размер иконок в Tizen (Носить) - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь сделать простое приложение для своих Galaxy Watch, которое работает на Tizen. Все, что я хочу сейчас сделать - это отобразить белый экран с двумя круглыми кнопками сверху и снизу (кнопки плюс и минус). Кажется, я установил белую часть экрана. Но когда я пытаюсь отобразить значок, значок заполняет все окно. Мне нужна помощь, пожалуйста.

(PS: у меня есть кое-какие знания по разработке приложений для Android. Но Tizen - совершенно другая игра с мячом. Я в определенной степени знаю C & C ++)

    Evas_Object *bg = elm_bg_add(ad->win);
    elm_bg_color_set(bg, 255, 233, 26);
    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(ad->win, bg);
    evas_object_show(bg);

    /* Plus Icon */
    Evas_Object *plusIcon = elm_icon_add(bg);
    elm_image_file_set(plusIcon, "/opt/usr/apps/org.example.basicui/res/images/plus.png", NULL);
    elm_object_content_set(bg, plusIcon);

Документация Tizen действительно запутанная и тусклая (в отличие от Android). Кроме того, я не могу найти ни одного полезного руководства по разработке носимых приложений Tizen Native. Если вам известно о каком-либо из этих руководств, поделитесь им со мной.

Еще раз спасибо.

1 Ответ

1 голос
/ 29 мая 2019

"/ opt / usr / apps / org.example.basicui / res / images / plus.png"

есть ли файл plus.png по этому пути?

if(!elm_image_file_set(plusIcon,...
  elm_bg_color_set(bg, 255, 0, 0);

Если файла нет, фон будет красным.

Если вы хотите создать интерактивный виджет, вы можете использовать elm_button.Сделайте стиль кнопки "кругом".Затем создайте elm_image и установите для него elm_object_content_set ().Однако этот стиль может отличаться в зависимости от версии tizen.

Поэтому я рекомендую следующий способ.

/*BG - box(container) - image(clicked event)
                        image(clicked event)*/


Evas_Object *bg, box, *image;
// Make BG
bg = elm_bg_add(parent); 
elm_bg_color_set(bg, 255, 233, 26);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);

// Make container
box = elm_box_add(bg);
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);

// Make image
image = elm_image_add(box);
if(!elm_image_file_set(image, /* Image path*/, NULL))
  return;
evas_object_size_hint_min_set(image, 100, 100);  // minimum size
evas_object_show(image);
evas_object_smart_callback_add(image, "clicked",  /* event callback function */, NULL);
elm_box_pack_end(box, image);

image = elm_image_add(box);
if(!elm_image_file_set(image, /* Image path*/, NULL))
  return;
evas_object_size_hint_min_set(image, 100, 100); // minimum size
evas_object_smart_callback_add(image, "clicked", /* event callback function */, NULL);
evas_object_show(image);
elm_box_pack_end(box, image);

elm_object_content_set(bg, box);

elm_win_resize_object_add(ad->win, bg);

elm_box https://developer.tizen.org/ko/development/guides/native-application/user-interface/efl/building-ui-layouts/box

elm_image https://developer.tizen.org/ko/development/guides/native-application/user-interface/efl/ui-components/wearable-ui-components/image

...