https://www.enlightenment.org/develop/legacy/program_guide/edje/basic_concepts
fixed parameter means this part size is fixed, so regardless of what global size is,
the part will show as it's own size.
so if you put fixed parameter, the min size of this part will not effect object size.
I think you have to remove fixed parameter firstly.
now we have to talk about size hint align and weight.
hint align means where this content object have to be aligned in given area.
you can easily think like 0 is top/left 0.5 is middle, 1.0 is bottom/right.
but the predefined value FILL(-1) means fill the content object in given area.
hint align means how much weight this object have in the parent area.
so if there are two objects in the box and one is weight 4, and one is 6,
first one can only have 0.4 area of box and second one can have 0.6 area.
please see more details in upon link.
Here is my test code.
- remove fixed and group min(I add outline to check where exactly object exist. if you can use your previous code with removing fixed parameter and group min.)
group {
name: "mylayout";
parts {
rect { "outline";
desc { "default";
visible: 1;
color: 0 0 0 255;
min: 200 200;
}
}
rect { "elm.bg"
desc { "default";
visible: 1;
color: 255 0 0 255;
rel.to: "outline";
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
text { "elm.title";
scale: 0;
desc { "default";
text {
text: "Title";
size: 32;
}
}
}
}
}
- Set align and weight as much as I want. Expand is synonym of 1.
Evas_Object *win, *bx;
char buf[PATH_MAX];
win = elm_win_util_standard_add("box-vert", "Box Vert");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
Evas_Object* ly = elm_layout_add(bx);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
elm_layout_file_set(ly, buf, "mylayout");
evas_object_size_hint_align_set(ly, 0.5, 0.5);
evas_object_size_hint_weight_set(ly, 1, 1);
evas_object_show(ly);
elm_box_pack_end(bx, ly);
Evas_Object* ly2 = elm_layout_add(bx);
elm_layout_file_set(ly2, buf, "mylayout");
evas_object_size_hint_align_set(ly2, 0.5, 0.5);
evas_object_size_hint_weight_set(ly2, 1, 1);
evas_object_show(ly2);
elm_box_pack_end(bx, ly2);
evas_object_show(win);
evas_object_resize(win, 360, 360);
If you have more question, please reply here! :)