繁体   English   中英

尝试获得3个文本vue,它们在同一行上左对齐,居中对齐和右对齐

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM