Intereting Posts
SSL-сеанс не используется повторно в Android WebView Что такое состояние state_focused для кнопки? Android Webview – веб-страница должна соответствовать экрану устройства AndroidHttpClient не найден (при работе Robolectric) Обновление сервисов Play от 8.1 до 8.3 с включенным Proguard Как реализовать getfilter () с пользовательским адаптером, который расширяет базовый адаптер Mocking library / framework, который лучше всего работает в Android? Программно стереть данные из базы данных sqlite с использованием библиотеки ormlite Предварительный просмотр камеры Android с использованием кода Grafika CameraCapture Недопустимый вопрос GestureDetector Запуск приложения Google Maps с предоставленным местоположением и маркером Пустое пространство между заголовком списка и первым элементом Как решить эту проблему: проблема с запуском андроида Организация Strings.xml Можно ли выбрать конкретный эмулятор устройств Android из AVD с помощью Apache Cordova?

Android: создание двух столбцов в линейном режиме

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Street" android:layout_gravity="left"/> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="456546546" android:layout_gravity="right" /> </LinearLayout> </LinearLayout> 

Я пытаюсь создать макет с двумя столбцами, с одним текстовым полем слева, а другой с правой стороны. Тем не менее, текстовые изображения все еще находятся на левой стороне.

Solutions Collecting From Web of "Android: создание двух столбцов в линейном режиме"

Вы должны использовать атрибут android:layout_weight . Вот пример:

 <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/textView1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="Street" android:layout_gravity="left" android:background="#88FF0000"/> <TextView android:id="@+id/textView2" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="456546546" android:layout_gravity="right" android:background="#8800FF00"/> </LinearLayout> 

Введите описание изображения здесь

Да, это сбивает с толку. Несмотря на то, что ширина LinearLayout установлена ​​на fill_parent, она по-прежнему требует минимальной ширины. Вам нужно установить второй TextView для заполнения_parent, а затем его силу тяжести вправо:

 <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Street"/> <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="456546546" android:gravity="right" /> </LinearLayout> 

Если u хочет иметь несколько строк в каждом столбце, вы можете использовать макет таблицы

Надеюсь, это поможет вам.

Попробуйте этот код.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:background="#00FF00" android:paddingRight="90dp" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/b1" android:text="Button 1"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF00FF" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/b2" android:text="Button 2"/> </LinearLayout> </LinearLayout> 

И если вам нужен промежуток между кнопками:

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.95" android:text="Via SMS" /> <View android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.05" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.95" android:text="Diaporama" /> </LinearLayout> 

При выполнении этой таблицы попробуйте использовать таблицу. В графическом макете Перетащите таблицу, поместите элементы в ячейку.

Потенциальная проблема с просто двумя вертикальными LinearLayouts для ваших столбцов заключается в том, что ничто не гарантирует, что строки будут выстраиваться в линию, если высоты строк являются переменными. TableLayout лучше всего подходит для этого, а также дает вам контроль над тем, как столбцы сокращаются или растут, чтобы заполнить доступное пространство.

Ссылка изменилась с @ santhosh-shettigar.
Guide: https://developer.android.com/guide/topics/ui/layout/grid.html
Ссылка: http://developer.android.com/reference/android/widget/TableLayout.html