2012-07-19 157 views
2

我正在開發一個具有listview的Android 2.3.3應用程序。在列表項中垂直居中textview

這是清單layout.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gatesLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <ImageButton 
      android:id="@+id/btnAddGate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/add_r" 
      android:contentDescription="@string/layoutEmpty" 
      android:onClick="onAddGateClick" /> 

     <ImageButton 
      android:id="@+id/btnDeleteGate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/delete_n" 
      android:contentDescription="@string/layoutEmpty" 
      android:onClick="onDeleteGateClick" /> 

    </LinearLayout> 

    <ListView 
     android:id="@android:id/list" 
     android:layout_marginTop="40dip" 
     android:layout_marginLeft="5dip" 
     android:layout_marginRight="5dip" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" > 
    </ListView> 

</LinearLayout> 

這是list_item.xml:

<?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="40dp" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/gateTypeImage" 
     android:layout_width="0dip" 
     android:layout_height="fill_parent" 
     android:layout_gravity="left|center_horizontal" 
     android:layout_weight=".2" 
     android:contentDescription="@string/layoutEmpty" /> 

    <TextView 
     android:id="@+id/gateNameText" 
     android:layout_width="0dip" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_vertical|center" 
     android:layout_weight=".7" 
     android:textSize="15dp" /> 

    <CheckBox 
     android:id="@+id/gateSelectedCheck" 
     android:layout_width="0dip" 
     android:layout_height="fill_parent" 
     android:layout_gravity="right|center_vertical" 
     android:layout_weight=".1" /> 

</LinearLayout> 

我不知道如何使垂直gateNameText文本中心。我把它放在左上角。

我該怎麼辦?

回答

4

使用android:gravity這樣的:

TextView 
     android:id="@+id/gateNameText" 
     android:layout_width="0dip" 
     android:layout_height="match_parent" 
     android:gravity="center_vertical|center" 
     android:layout_weight=".7" 
     android:textSize="15dp" /> 
1

要使用:

android:gravity="center_vertical|center" 
0

試試這個list_item.xml ::

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="40dp" > 

    <ImageView 
     android:id="@+id/gateTypeImage" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:layout_weight=".2" 
     android:background="@drawable/ic_launcher" 
     android:contentDescription="layoutEmpty" /> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" > 

     <TextView 
      android:id="@+id/gateNameText" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_centerVertical="true" 
      android:layout_toLeftOf="@+id/gateTypeImage" 
      android:layout_weight=".7" 
      android:gravity="center_vertical" 
      android:text="ABCDEFGH" 
      android:textSize="15dp" /> 
    </RelativeLayout> 

    <CheckBox 
     android:id="@+id/gateSelectedCheck" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_weight=".1" /> 

</RelativeLayout>