2014-06-28 96 views
0

Android - 我如何將文本與中心對齊,左邊的texview - 和「應該與imageview的中心和右邊的textview -localTime」對齊,他們爲什麼在上面?如何將texview對齊到中心

感謝#1

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> 

回答

1

添加

android:layout_centerVertical="true"

兩個textviews

<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

+0

謝謝,現在是完美的:) – primo

+0

歡迎...設計總是在Android的我最喜歡的事情;) – WonderSoftwares

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> 
+0

感謝,同時您的解決方案的工作。 – primo

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> 
+0

謝謝,這也適用 – primo