Можно ли как-то запретить вызов метода Layout для всех дочерних элементов, если я хочу установить макет только для родительского представления и при этом сохранить настройки макета дочерних элементов?
В настоящее время я вызываю parent.layout (), и все его дочерние элементы получают ширину и высоту ноль. Разве я не могу как-то установить дочерние элементы для FillParent вместо установки макета на ALL? : - (
Кстати, мой родитель - это расширенный LinearLayout, содержащий в основном Textviews.
Edit:
Какой-то код:
myLayout расширяет LinearLayout
myLayout.layout(left, top, right, bottom);
myLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
for each child in myLayout do {
child.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
if (v instanceof TextView) {
((TextView) v).setGravity(Gravity.CENTER);
}
Но у ребенка все еще есть:
слева: 0 сверху: 0 справа: 0 снизу: 0
Редактировать 2:
Кстати, приведенный выше код является инсайдером метода onLayout ViewGroup.