Intereting Posts
Универсальный загрузчик изображений не может загружать изображения иногда Элементы управления Youtube (воспроизведение / пауза) не работают после восстановления проигрывателя / активность возобновляется Как получить идентификатор переключателя, созданный динамически в android Как нарисовать полилинию на карте google с двумя разными цветами между двумя местоположениями Android: screenOrientation? Можете ли вы пойти на пейзаж только на устройствах с высоким разрешением? Как исправить URL-адрес поставщика контента, который не найден в поставщике контента Android? Как установить текст панели инструментов и цвет стрелки назад Ошибка в студии android при создании нового проекта Fontfamily не работает на Android Lollipop Null keyevent и actionid = 0 в onEditorAction () (Jelly Bean / Nexus 7) Альтернатива Android для Line2D? Что такое хорошая свободная / открытая платформа для разработки мобильных приложений с кросс-платформой CursorLoader, получить URI для локальной базы данных Куча продолжает расти в Google Map API V2 Котлин: несоответствие типа Funtional

Лучшая практика для компоновки двух текстовых изображений в строке

Я хочу, чтобы на моем XML-макете было много текстовых просмотров, каждый из двух из них в строке, я делаю это как это:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name: " /> <TextView android:id="@+id/playertvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/red" android:textSize="20dp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nationality: " /> <TextView android:id="@+id/playertvNationality" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/red" android:textSize="20dp" /> </LinearLayout> </LinearLayout> 

Но кажется, что это не очень хороший способ создать новый linearlayout для каждых двух текстовых просмотров, есть ли другой способ, пожалуйста?

Попробуйте GridLayout . Вот официальный документ Google , и вот пример .

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

Вы можете использовать LinearLayout с соответствующими весами или RelativeLayout .

Вы можете использовать TableLayout или GridView в качестве альтернативы LinearLayout.

  1. TableLayout позволит вам отображать текстовые представления в формате таблицы, и я бы рекомендовал TableLayout, если количество текстовых просмотров очень мало и исправлено.

  2. GridView позволяет вам компоновать ваши компоненты в Grid fasion, его адаптер, что означает, что GridView мы можем повторно использовать Views. Это до некоторой степени увеличивает сложность, поэтому полезно, когда нет текстовых просмотров, велико.

Используйте один Относительный макет и играйте с android: layout_toLeftOf = "", android: layout_toRightOf = "" android: layout_below = "" android: layout_above = ""