我有以下线性布局,并尝试通过单个垂直基线对齐元素,如屏幕截图所示
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:clickable="true"
android:background="@drawable/container_drowshadow_grey"
android:baselineAligned="false"
android:padding="8dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:id="@+id/first_language"
android:layout_marginLeft="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lang_source_icon"
android:src="@drawable/ic_flag_en"
android:contentDescription="@string/language_direction"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="English"
android:id="@+id/lang_source_text"
android:gravity="center_vertical"
android:layout_marginTop="4dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="10dp"
android:textColor="@color/text_source_phrase"/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/language_direction"
android:src="@drawable/ic_arrowlist"
android:contentDescription="@string/language_direction"
android:layout_marginTop="8dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:id="@+id/second_language">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lang_destination_icon"
android:src="@drawable/ic_flag_es"
android:contentDescription="@string/language_direction"
android:layout_gravity="left"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Espanol"
android:id="@+id/lang_destination_text"
android:gravity="center_vertical"
android:layout_marginTop="4dp"
android:layout_marginLeft="6dp"
android:textColor="@color/text_source_phrase"/>
</LinearLayout>
</LinearLayout>
我想通过屏幕截图上的红线对齐所有列表项。这该怎么做?我尝试使用android:gravity
和android:layout_gravity
属性,但没有成功。
答案 0 :(得分:0)
试试这个..给android:layout_weight="0.5"
水平两个布局
<LinearLayout
android:layout_width="0dp" //Correction here
android:layout_weight="0.5" //Correction here
android:layout_height="wrap_content"
android:gravity="left"
android:id="@+id/first_language"
android:layout_marginLeft="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lang_source_icon"
android:src="@drawable/ic_flag_en"
android:contentDescription="@string/language_direction"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="English"
android:id="@+id/lang_source_text"
android:gravity="center_vertical"
android:layout_marginTop="4dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="10dp"
android:textColor="@color/text_source_phrase"/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/language_direction"
android:src="@drawable/ic_arrowlist"
android:contentDescription="@string/language_direction"
android:layout_marginTop="8dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>
<LinearLayout
android:layout_width="0dp" //Correction here
android:layout_weight="0.5" //Correction here
android:layout_height="wrap_content"
android:gravity="right"
android:id="@+id/second_language">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lang_destination_icon"
android:src="@drawable/ic_flag_es"
android:contentDescription="@string/language_direction"
android:layout_gravity="left"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Espanol"
android:id="@+id/lang_destination_text"
android:gravity="center_vertical"
android:layout_marginTop="4dp"
android:layout_marginLeft="6dp"
android:textColor="@color/text_source_phrase"/>
</LinearLayout>