[英]TRying to get 3 Text vues to be left, centered and right aligned on same row
我想在它们左对齐,居中和右对齐的同一行上获取3 TextView。 它们都在左侧。 它们都在水平容器中。 我正在使用layout_gravity设置那里的药水
码
<?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:background="#fff7f1d2"
android:orientation="vertical" >
<ImageView
android:id="@+id/butMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/menu"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff7f1d2"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="left"
android:layout_gravity="left"
android:textStyle="bold"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="center"
android:layout_gravity="center"
android:textStyle="bold"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="In case of Emergency: Break Glass"
android:layout_gravity="right"
android:textStyle="bold"
/>
</LinearLayout>
</LinearLayout>
左右Gravity
不适用于horizontal
LinearLayout
因为它已经从左到右LinearLayout
了它们。 您最好将它们包装在RelativeLayout
并使用其属性。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff7f1d2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="left"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="center"
android:layout_centerInParent="true" <!-- This property -->
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="In case of Emergency: Break Glass"
android:layout_alignParentRight="true" <!-- And this property -->
android:textStyle="bold" />
</RelativeLayout>
默认情况下,第一个TextView
将向右对齐。
由于您将LinearLayout的宽度设置为fill_parent
,因此可以使用以下更简单的方法:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff7f1d2"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"a
android:layout_weight="1"
android:text="left"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="center"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="In case of Emergency: Break Glass"
android:textStyle="bold" />
</LinearLayout>
此处的区别是android:layout_weight
属性,并且由于所有同级都具有相同的权重,因此每个TextView
将占用可用宽度的33%。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.