Я начал с использованием относительной разметки.Но недавно я перешел на использование в основном линейного макета.
Причину сложно объяснить, но возьмем это в качестве примера: скажем, я хочу макет, в котором в центре экрана находятся два изображения.Оба изображения должны занимать 1/4 ширины экрана и 1/4 высоты экрана.Это невозможно сделать с относительной разметкой, если вы хотите, чтобы она работала одинаково на всех устройствах.Но вы можете сделать это с Linearlayout.Создавая вертикальных и горизонтальных родителей, вы можете создавать «ящики».Чтобы достичь этого, вы должны узнать о весе и весе.Родительские макеты должны иметь атрибут weigthsum, а дочерние должны иметь атрибут weight.
В любом случае, моя точка зрения: Relativelayout прост в использовании, но также обманчив.Вы можете подумать, что ваш макет будет выглядеть одинаково на всех устройствах, но, скорее всего, они не будут выглядеть одинаково.Причина этого заключается в следующем:
- При относительном расположении вы должны определить размер с помощью dp или px (при условии, что вы не заполняете родительский или перенос содержимого).
- Различные устройства имеют разные аспектыотношения.
Я надеялся, что это помогло с точки зрения понимания относительного и линейного распределения.