https://www.enlightenment.org/develop/legacy/program_guide/edje/basic_concepts
Параметр fixed означает, что размер этой части фиксирован, поэтому независимо от того, какой глобальный размер, часть будет отображаться как собственный размер.
поэтому, если вы установите параметр fixed, минимальный размер этой части не повлияет на размер объекта. Я думаю, вам нужно сначала удалить параметр fixed.
Теперь нам нужно поговорить о подсказке размера align и weight.
Hint align означает, что этот объект контента должен быть выровнен в заданной области. вы можете легко подумать, что 0 — это верх/слева, 0,5 — это середина, 1,0 — это низ/справа. но предопределенное значение FILL(-1) означает заполнение объекта содержимого в заданной области.
Hint align означает, какой вес имеет этот объект в родительской области. поэтому, если в коробке два объекта, один из которых имеет вес 4, а другой - 6, первый может иметь площадь коробки только 0,4, а второй - 0,6.
пожалуйста, смотрите более подробную информацию по ссылке.
Вот мой тестовый код.
- удалить фиксированный и групповой мин. (я добавляю схему, чтобы проверить, где именно существует объект. Если вы можете использовать свой предыдущий код с удалением фиксированного параметра и группового мин.)
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;
}
}
}
}
}
- Установите выравнивание и вес столько, сколько я хочу. Расширение является синонимом 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);
Если у вас есть дополнительные вопросы, пожалуйста, ответьте здесь! :)
person
Jade Lee
schedule
15.12.2020