Я хочу выровнять текст и изображение в LinearLayout
в одной строке.Я думал об использовании опции layout_gravity
для TextView
и ImageView
в LinearLayout
с orientation=horizontal
, но, похоже, это не работает.Любая причина, почему это?
Очевидно, layout_gravity
работает только с orientation=vertical
.
Я могу сделать это, используя несколько линейных макетов в пределах основного линейного макета, но искал элегантный способ сделать это.
Вот код для того же:
<?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="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_horizontal"
android:background="#e3e2ad"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="24sp"
android:text="Layout's Vertical Orientation" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#bcf5b1"
android:layout_gravity="left"
android:text="left" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@drawable/pigeon"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#d6c6cd"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="24sp"
android:text="Layout's Horizontal Orientation" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#bcf5b1"
android:layout_gravity="left"
android:text="left" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@drawable/pigeon"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
А вот вывод:
Я уже проверил ответ на этот вопрос здесь, но он не решил эту проблему. Разница между гравитацией и layout_gravity на Android