如何将文本视图与中心对齐

时间:2014-06-28 04:55:59

标签: android android-layout textview

Android - 我如何将文本与中心对齐,左侧的texviews以及 - 将与图像视图的中心和右侧文本视图“本地时间”对齐,为什么它们位于顶部?

感谢Stackoverflow

Heres a pic of my layout , can see the difference ?

<LinearLayout
    android:id="@+id/LinearLayout_footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:weightSum="3.0" >

    <TextView
        android:id="@+id/localTimestamp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1.0"
        android:gravity="left|center_vertical"
        android:text="localTime"
         />

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:gravity="right|bottom"
        android:weightSum="1.0" >

         <TextView
            android:id="@+id/weather"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="invisible"
            android:gravity="right|bottom"
            android:text="w"
            android:textColor="#FFFFFF"/>

        <ImageView
            android:id="@+id/ic_weather"
            android:layout_width="25dip"
            android:layout_height="25dip"
            android:layout_toRightOf="@+id/weather"
            android:background="@drawable/w_1"
            android:contentDescription="@string/todo"
            android:gravity="right|bottom" />

        <TextView
            android:id="@+id/temperature"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/ic_weather"
            android:gravity="right|bottom"
            android:text="@string/t"
            />

        <TextView
            android:id="@+id/unitTemp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right|bottom"
            android:layout_toRightOf="@+id/temperature"
            android:text="@string/c"
             />
    </RelativeLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

添加

android:layout_centerVertical="true"

两个文字视图

 <TextView
            android:id="@+id/temperature"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/ic_weather"
            android:gravity="right|bottom"
            android:layout_centerVertical="true"

            android:text="t" />

        <TextView
            android:id="@+id/unitTemp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/temperature"
            android:gravity="right|bottom"
            android:layout_centerVertical="true"
            android:text="c" />

view

答案 1 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout_footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="5dp">

    <TextView
        android:id="@+id/localTimestamp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="localTime"/>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:gravity="center"
        android:layout_marginLeft="5dp">

        <TextView
            android:id="@+id/weather"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:visibility="invisible"
            android:gravity="right|bottom"
            android:text="w"
            android:textColor="#FFFFFF"/>

        <ImageView
            android:id="@+id/ic_weather"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:background="@drawable/w_1"
            android:layout_marginLeft="5dp"
            android:contentDescription="@string/todo"/>

        <TextView
            android:id="@+id/temperature"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="@string/t"/>

        <TextView
            android:id="@+id/unitTemp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="@string/c"/>
    </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

我认为@Haresh是对的。我使用的几乎一样。只需删除字符串。

我的xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" >

    <LinearLayout
        android:id="@+id/LinearLayout_footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:weightSum="3.0" >

        <TextView
            android:id="@+id/localTimestamp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:gravity="left|center_vertical"
            android:text="localTime" />

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:gravity="right|bottom"
            android:weightSum="1.0" >

            <TextView
                android:id="@+id/weather"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right|bottom"
                android:text="w"
                android:textColor="#FFFFFF"
                android:visibility="invisible" />

            <ImageView
                android:id="@+id/ic_weather"
                android:layout_width="25dip"
                android:layout_height="25dip"
                android:layout_toRightOf="@+id/weather"
                android:gravity="right|bottom" />

            <TextView
                android:id="@+id/temperature"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/ic_weather"
                android:gravity="right|bottom" />

            <TextView
                android:id="@+id/unitTemp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/temperature"
                android:gravity="right|bottom" />
        </RelativeLayout>
    </LinearLayout>

</LinearLayout>