안녕하세요, SDK 2.3.1을 가지고 와치 페이스 앱을 구현해보고 있습니다.
edc 예제를 보고, 에니메이션을 만들어보려고 하는데, 쉽지가 않네요. 하아
collections {
group {
name : "layout_digital_watch";
styles {
style {
name: "textblock_digit_style";
base: "font=Tizen:style=Bold font_size=32 color=#ffffff align=center style=shadow,bottom shadow_color=#00000088 text_class=idle_font";
tag: "br" "\n";
tag: "hilight" "+ font_weight=Bold";
tag: "b" "+ font_weight=Bold";
tag: "tab" "\t";
}
}
parts{
part {
name: "bg_image";
type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
visible: 1;
rel1 { relative: 0.0 0.0;}
rel2 { relative: 1.0 1.0;}
map
{
on: 1;
smooth: 1;
perspective_on: 1;
rotation
{
z: 0;
x: 0;
y: 0;
}
}
}
}
part {
name: "light";
type: SWALLOW;
scale: 1;
description
{
state: "default" 0.0;
visible: 0;
rel1 { relative: 0.0 0.0;}
rel2 { relative: 1.0 1.0;}
}
description
{
state: "turnon" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "textblock_time";
type: TEXTBLOCK;
effect: SHADOW BOTTOM;
scale: 1;
description {
state: "default" 0.0;
rel1 { relative: 0.0 0.2; to: "bg_image"; }
rel2 { relative: 1.0 0.2; to: "bg_image"; }
fixed: 1 1;
visible: 1;
color: 255 255 255 255;
align: 0.5 0.5;
text{
text: "";
style: "textblock_digit_style";
min: 0 1;
align: 0.5 0.5;
}
}
}
part{
name: "default_text_date";
type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description{
state: "default" 0.0;
color: 255 255 255 255;
rel1 { relative: 0.0 0.8; to: "bg_image"; }
rel2 { relative: 1.0 0.8; to: "bg_image"; }
align: 0.5 0.0;
text{
text: "";
font: TIZEN_SANS":style=Regular";
text_class: "tizen";
min: 0 1;
size: 24;
align: 0.5 0.5;
}
visible: 1;
}
}
} //parts end
programs{
program
{
name: "animation,light0";
source: "";
signal: "";
action: STATE_SET "default" 0.0;
target: "light";
transition: LINEAR 2;
after:"animation,light1";
}
program
{
name: "animation,light1";
source: "light";
signal: "animation,play";
action: STATE_SET "turnon" 0.0;
target: "light";
transition: LINEAR 2;
after:"animation,light0";
}
}
} //group end
}
위의 edc를 짰고요,
아래 코드를 통해서, 이미지를 bg로 넣어줬습니다.
왜냐하면, edc에서 이미지를 넣는 방법을 예시를 따라 해봤지만, 이미지를 찾지 못하겠다고 하고
다른 방법으론 이미지를 넣는 방법을 찾을 수가 없어서이지요.
static Evas_Object *_create_background(appdata_s *ad)
{
Evas_Object *bg = NULL;
Eina_Bool ret = EINA_TRUE;
bg = elm_bg_add(ad->layout);
ret = elm_bg_file_set(bg, IMG_DIR"bg2.jpg", NULL);
retvm_if (!ret, NULL,"Fail to set the background image" );
elm_bg_option_set(bg, ELM_BG_OPTION_CENTER);
elm_object_part_content_set(ad->layout, "bg_image", bg);
evas_object_show(bg);
return bg;
}
static Evas_Object *_create_light(appdata_s *ad)
{
Evas_Object *light = NULL;
Eina_Bool ret = EINA_TRUE;
car = elm_bg_add(ad->layout);
ret = elm_bg_file_set(light, IMG_DIR"bg_light.png", NULL);
retvm_if (!ret, NULL,"Fail to set the background image" );
elm_bg_option_set(light, ELM_BG_OPTION_CENTER);
elm_object_part_content_set(ad->layout, "light", light);
evas_object_show(light);
return light;
}
void play_light_animation(appdata_s *ad){
edje_object_signal_emit(elm_layout_edje_get(ad->layout), "animation,play", "light");
}
그리고는, 위와 같은 코드를 통해서 에니메이션을 실행시킵니다.
제가 하고 싶은 건, 상위에 있는 이미지가 서서히 나타났다가 서서히 사라지는 것인데요,
위의 코드로는 생각처럼 되질 않네요.
어떻게 하면, 이미지가 서서히 나타났다가 서서히 사라질 수 있을 까요?
두번째 질문으로는, light를 생성할 때에, 투명 이미지로 만들어서 적용을 해보았는데요,
전혀 투명하지가 않더라고요.
어떻게 하면 투명 png 파일을 적용할 수 있을까요?
세번째로는, 에뮬레이터로 확인하기에는, 에니메이션을 실행하면,
default_text_date 파트와 textblock_time 파트가
계속해서 불안하게 껌뻑껌뻑 거리는데요. 이건 왜 그러는 걸까요?
아직 기어S2를 연결을 못해봐서, 에뮬레이터로만 확인하고 있는데요, 에뮬레이터의 문제일까요?
감사합니다.
에니메이션 관련