2013-07-04 2 views
0

Итак, представьте себе ситуацию, когда у вас есть основной макет, как LinearLayout (который поддерживает layout_weight), и внутри него вы вложили RelativeLayout (который не поддерживает layout_weight).Когда макет вложен внутри другого макета, он наследует параметры родителя?

Теперь, когда RelativeLayout находится внутри LinearLayout, сможет ли он использовать layout_weight? И если случай был отменен (линейный внутри относительного), будет LinearLayout иметь возможность использовать layout_below, layout_toParentLeft и т. Д.?

+0

нет, нет нет нет нет n нет не но –

+0

@MarkoNiciforovic Это много * нет * s и разочарование: p –

+1

не позволю мне написать комментарий только с двумя буквами: D, но серьезно, они не наследуют: D –

ответ

3

Теперь, когда RelativeLayout вложен внутри LinearLayout, сможет ли он использовать layout_weight?

No. Поскольку RelativeLayout вложен LinearLayout может быть дано weight быть взвешенная внутри LinearLayout но не наследует свойство weightSum, чтобы раздать детям.

И если случай был отменен (линейный внутри относительного), LinearLayout сможет использовать layout_below, layout_toParentLeft и т. Д.?

Да, вы находитесь внутри RelativeLayout, чтобы любой ребенок мог получить эти свойства. Однако любой ребенок внутри этого гнезда LinearLayout не может использовать свойства RelativeLayout, как в вашем примере.

WeighSum Docs

числа больше, чем 0.0f, или несколько меньше или равно 0.0f , если сумма веса должна быть вычислена из детского layout_weight»

android:weightSUme="aNumber" может «суммировать» вес детей. Если все суммы детей будут добавлены до 1, вам не понадобится это свойство. Поскольку я недавно узнал от @RomainGuy через обсуждение с @Squonk, это действительно необходимо если они не будут равны 1 и y ou хотите пустое место в вашем layout. В противном случае процессор определит, что будет weightSum.

+0

Что я имею в виду, если у меня есть «LinearLayout» **, который имеет ** 'RelativeLayout' **, который имеет **' EditText'. Может ли 'EditText' использовать' layout-weight'? –

+0

Ах .. поэтому непосредственный ребенок может использовать свойства. Дети детей не могут! :-) –

+0

Если 'LinearLayout' в вашем примере является родительским, то нет, но' RelativeLayout' может, который, я думаю, вы понимаете. – codeMagic

1

Ответ на ваш вопрос не очень сложный. Я могу синтезировать его в двух письмах: NO

Смежные вопросы