1

Я абсолютно новый в разработке Android, и у меня есть следующее сомнение в разработке моего первого приложения.Лучше использовать горизонтальный LinearLayout или TableLayout?

Я должен горизонтально разделить мой макет на 2 секции одинакового размера (половина экрана должна быть занята левой частью и половинным экраном в правой части).

Эти 2 раздела должны содержать некоторые текстовые изображения.

Какая стратегия является оптимальной? Используя горизонтальный LinearLayout или что-то вроде TableLayout?

ответ

2

Основная цель TableLayout - вы можете легко разделить макет на несколько строк и столбцов.

Для такого простого макета вы можете просто использовать горизонтальный LinearLayout, который содержит два макета для вашего левого и правого содержимого.

Например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <!-- left content --> 

    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <!-- right content --> 

    </RelativeLayout> 
</LinearLayout> 

Использование атрибута layout_weight вместо определения layout_width гарантирует, что левый и правый макеты будут делить экран одинаково на всех устройствах/ориентации экрана.

Значения равные layout_weight означают, что макеты одинаково важны, поэтому они получат равное пространство от родителя LinearLayout.

Проверить this link для получения дополнительной информации о LinearLayout и атрибута layout_weight.

1

Это действительно зависит от личных предпочтений, так как макеты могут помочь вам достичь того, чего вы хотите достичь, но так как в вашем случае требуется всего 2 раздела. Лично я бы пошел для горизонтального LinearLayout.
TableLayout предпочтительнее, когда вам приходится отображать огромное количество данных в строках и столбцах.

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