我正在尝试为在Tizen上运行的Galaxy Watch制作一个简单的应用程序。我现在要做的就是显示一个白色屏幕,在顶部和底部带有两个圆形按钮(加号和减号按钮)。我似乎已经解决了白色屏幕的问题。但是,当我尝试显示图标时,该图标会填满整个窗口。我需要帮助。
(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 Wearable App Development的任何有益的教程。如果您知道任何此类教程,请与我分享。
再次感谢。
答案 0 :(得分:1)
“ / 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);