语言

Menu
Sites
Language
워치 어플리케이션에 이미지 불러오기

안녕하세요.

네이티브로 갤럭시 워치 어플리케이션을 개발 중에 막히는 부분이 있어서 여쭤봅니다.

버튼 내에 이미지를 삽입하려는데, 버튼 내 이미지 삽입은 커녕 이미지조차 불러와지지 않습니다.

 

    ad->btn =elm_button_add(ad->table);

    ad->img=elm_button_add(ad->btn);

    elm_image_file_set(ad->img, "/opt/usr/apps/org.example.forproto/res/give_me.png", NULL);

    elm_object_part_content_set(ad->btn, "give_me", ad->img);

    evas_object_size_hint_weight_set(ad->btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

    evas_object_size_hint_align_set(ad->btn,EVAS_HINT_FILL,EVAS_HINT_FILL);

    elm_table_pack(ad->table, ad->btn, 3, 2, 1, 1);

    evas_object_show(ad->btn);

    evas_object_show(ad->img);

 

    evas_object_event_callback_add(ad->btn, EVAS_CALLBACK_MOUSE_DOWN, clicked_btn6, ad);

 

위 코드를 작성하여, 

와 같은 결과를 얻었습니다. 1,2,3,4,5는 코드 상에 없지만 각 번호의 버튼을 정상 구현한 것이고, 둘째출 최우측 버튼에 이미지가 입혀지길 기대했던 것입니다. 해당 자리에 버튼을 클릭하면 로그는 정상적으로 찍힙니다.
elm_image_file_set()의 경로 설정이 잘못되었나하여,
 

  elm_image_file_set(ad->img"give_me.png", NULL);

로도 시도해보았으나 결과는 같았습니다.

이렇게 이미지가 불러와지지 않아, 

 

    ad->img =elm_image_add(ad->table);

    elm_image_file_set(ad->img, "give_me.png", NULL);

    evas_object_size_hint_weight_set(ad->img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

    evas_object_size_hint_align_set(ad->img, EVAS_HINT_FILL, EVAS_HINT_FILL);

    elm_table_pack(ad->table, ad->img, 3, 2, 1, 1);

    evas_object_show(ad->img);

 

    evas_object_event_callback_add(ad->img, EVAS_CALLBACK_MOUSE_DOWN, clicked_btn6, ad);

 

위와 같이 이미지만 불러오고 해당 이미지에 콜백을 달아 코드를 작성했습니다.
그랬더니,

위와 같이 완전히 해당 부분에 아무것도 보이지 않습니다.하지만 우측 하단에 비어있는 부분을 클릭하면 정상적으로 로그는 찍힙니다.

 

 

위와 같이 res에 해당 이미지 파일은 넣어놨습니다.
파일에 문제가 있나하여, 해당 파일 외에 다른 파일로도 시도해보았으나 해결하지 못했습니다.
 
이 외에도 app_get_resource()를 사용하여 path를 받아 불러오는 방법도 시도해보았으나 해결하지 못했습니다.
 
----------
 
이렇게 이미지를 불러오지 못하는 문제 외에도 앞서서 player.h를 활용하여, res의 사운드파일을 넣을 때에도 파일이 불러와지지 않았습니다.
당시 문제를 살펴볼 때, 
legacy_player.c: legacy_player_start(1604) > [legacy_player_start] PLAYER_ERROR_INVALID_STATE(0xfe6c0022) : current state - 1
라는 에러 코드를 보기도 했습니다. 혹시 문제 해결에 도움이 될까하여 같이 적어봅니다.
 
간단한 부분인데 번거롭게 죄송합니다ㅜㅜ
 

 

编辑者为: haseungwan 14 11月, 2019