Философия LayoutParams
xml-вьюшки стремительно отмирают в пользу Compose. уважим их несколькими постами и заодно разберемся, почему у людей возникло желание от них избавиться
свойства LayoutParams:
• базовый класс — ViewGroup.LayoutParams
он содержит только два свойства - height, weight
• View получают LayoutParams от ближайшего родительского ViewGroup
если родитель вьюшки - RelativeLayout, то View.mLayoutParams = RelativeLayout.LayoutParams
если у вьюшки нет родителя (она еще не attached), то View.mLayoutParams = null
• ViewGroup.LayoutParams расширяется наследниками
например, есть такая иерархия: RelativeLayout.LayoutParams extends ViewGroup.MarginLayoutParams extends ViewGroup.LayoutParams
• если вызвать View.setLayoutParams(...), то View передаст новые параметры родителю, тот перерисует себя, а после перерисуется сама View
....
какие отрицательные побочки мы получаем от наследовательной архитектуры LayoutParams? в чем ее минусы (из-за которых набирает популярность compose)?
Post #59
1.98K