Intereting Posts
Как изменить язык Google Map V2 android Android Studio Ошибка «reg» не распознается как внутренняя или внешняя команда «Кнопка« Назад »с помощью панели инструментов getSupportActionbar и appcompat v7 Насколько точны измерения высоты в мобильных телефонах Быстрый способ декодирования изображения в формате JPEG Как обрабатывать код, когда приложение убито путем прокрутки в android? Пользовательский вид центра Android в панели действий Android TimePicker (Стиль колес) не отвечает правильно, чтобы щелкнуть жесты внутри ScrollView ViewFlipper имеет «огромную» задержку Есть ли стандартный способ намекнуть, что число должно читаться по одному символу за раз? Android: Любой способ уменьшить задержку / задержку записи на VideoView / MediaPlayer? Как создать экран загрузки в Corona SDK? Кадрирование квадратного изображения в круг – Программно Как выбрать первый элемент в навигационном ящике и открыть фрагмент при запуске приложения Размер логотипа панели действий?

Как правильно выравнивать виджет в горизонтальной линейной компоновке андроида?

Это код, который я использую, и он не работает:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right"> </TextView> </LinearLayout> 

Solutions Collecting From Web of "Как правильно выравнивать виджет в горизонтальной линейной компоновке андроида?"

Попробуйте добавить пустой вид внутри горизонтального LinearLayout перед элементом, который вы хотите увидеть правильно, например:

 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

Не изменяйте гравитацию LinearLayout до «права», если вы не хотите, чтобы все было справа

Пытаться:

  1. Изменение ширины TextView для fill_parent
  2. Изменение силы тяжести TextView right

     <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right"> </TextView> 

В качестве дополнения к ответу alcsan вы можете использовать Space поскольку API 14 (Android 4.0 ICE_CREAM_SANDWICH), здесь .

Пространство – это легкий подкласс View, который может использоваться для создания разрывов между компонентами в макетах общего назначения.

 <?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="horizontal" > <Space android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:gravity="right" /> </LinearLayout> 

Для приложений, поддерживающих уровни API до 14 лет, существует поддержка android.support.v4.widget.Space с Android Support Library r22.1.0.

С линейной компоновкой

 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar" android:gravity="right" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/my_booking_icon" /> </LinearLayout> 

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

С FrameLayout

 <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|right" android:src="@drawable/my_booking_icon" /> </FrameLayout> 

С RelativeLayout

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:src="@drawable/my_booking_icon" /> </RelativeLayout> 

Установка layout_weight="1" будет делать трюк.!

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 

Добавьте android:gravity="right" в LinearLayout. Предполагая, что TextView имеет layout_width="wrap_content"

Вы должны использовать RelativeLayout и просто перетаскивать их, пока они не выглядят хорошо 🙂

  <ImageView android:id="@+id/button_info" android:layout_width="30dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="10dp" android:contentDescription="@string/pizza" android:src="@drawable/header_info_button" /> </RelativeLayout> 

Я сделал это самым простым способом:

Просто возьмите один RelativeLayout и поместите в него своего ребенка , который вы хотите разместить с правой стороны.

  <LinearLayout android:id="@+id/llMain" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#f5f4f4" android:gravity="center_vertical" android:orientation="horizontal" android:paddingBottom="20dp" android:paddingLeft="15dp" android:paddingRight="15dp" android:paddingTop="20dp"> <ImageView android:id="@+id/ivOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/txtOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="Hiren" android:textAppearance="@android:style/TextAppearance.Medium" android:textColor="@android:color/black" /> <RelativeLayout android:id="@+id/rlRight" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right"> <ImageView android:id="@+id/ivRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:src="@drawable/ic_launcher" /> </RelativeLayout> </LinearLayout> 

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

Просто добавьте android:gravity="right" в макете Liner.

Попытайтесь изменить layout_width на android:layout_width="match_parent" потому что gravity:"right" выравнивает текст внутри layout_width, и если вы выберете содержимое обложки, у него нет места, куда нужно идти, но если вы выберете match parent, он может перейти к право.

linear layout с layout_width="fill_parent" а также виджет с той же layout width + gravity as right , выравнивает его вправо.

Я использую 2 TextView s в следующем примере, topicTitle слева и topicQuestions справа.

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="20dp" android:orientation="horizontal"> <TextView android:id="@+id/topicTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/topicQuestions" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="18sp" android:textStyle="bold" /> </LinearLayout> </RelativeLayout> 

Вывод

В случае с TextView:

 <TextView android:text="TextView" android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textAlignment="gravity"> </TextView> 

Попробуй это..

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:gravity="right" > <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout>