2015-03-03 41 views
1

如何將「離開類型」和「可用葉子」對齊到列表中心並將它們的值與相應標題的中心對齊?請幫幫我。這是XML代碼我已經作出,但它不fullfill我的目的如何在列表視圖列表項中對齊值?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:background="@drawable/list_selector" 
    android:orientation="vertical" > 

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

     <TextView 
      android:id="@+id/leave_type_header" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="left" 
      android:textColor="#000000" /> 

     <TextView 
      android:id="@+id/available_leaves_header" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="right" 
      android:textColor="#000000" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:gravity="left|right"> 

     <TextView 
      android:id="@+id/leave_type" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="left" 
      android:textColor="#000000" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/available_leaves" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="right" 
      android:textColor="#000000" 
      android:textStyle="bold" /> 
    </LinearLayout> 

</LinearLayout> 

enter image description here

+0

不清楚...圖片是顯示您想要的結果還是您擁有的結果? – 2015-03-03 09:12:58

+1

我建議你爲此使用RelativeLayout – eLemEnt 2015-03-03 09:14:31

+0

@DerGolem沒有圖像顯示我得到的輸出 – 2015-03-03 09:14:38

回答

2

最佳選擇更換你的代碼是使用weightsum:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:weightsum="2" 
    android:orientation="horizontal" 
    android:gravity="left|center"> 

    <TextView 
     android:id="@+id/leave_type_header" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:layout_gravity="left" 
     android:textColor="#000000" /> 

    <TextView 
     android:id="@+id/available_leaves_header" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:layout_gravity="right" 
     android:textColor="#000000" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:weightsum="2" 
    android:gravity="left|center"> 

    <TextView 
     android:id="@+id/leave_type" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:layout_gravity="left" 
     android:textColor="#000000" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/available_leaves" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:layout_gravity="left" 
     android:textColor="#000000" 
     android:textStyle="bold" /> 
</LinearLayout> 

+0

你的回答有點符合我的目的。謝謝:) – 2015-03-03 10:05:53

+0

然後接受它:) – Dev 2015-03-03 10:10:49

0

,因爲你必須使用layout_gravity = "left"layout_gravity = "right" 所以你就必須從中心分開它們。我建議你應該使用android:weight

只需將其添加到您的佈局標籤。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:background="@drawable/list_selector" 
    android:orientation="vertical" > 

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

     <TextView 
      android:id="@+id/leave_type_header" 
      android:layout_width="0dp" 
      android:weight = "1" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="center" 
      android:textColor="#000000" /> 

     <TextView 
      android:id="@+id/available_leaves_header" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:weight = "1" 
      android:layout_margin="10dp" 
      android:layout_gravity="center" 
      android:textColor="#000000" /> 
    </LinearLayout> 

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

     <TextView 
      android:id="@+id/leave_type" 
      android:layout_width="0dp" 
      android:weight = "1" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="center" 
      android:textColor="#000000" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/available_leaves" 
      android:layout_width="0dp" 
      android:weight = "1" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:layout_gravity="center" 
      android:textColor="#000000" 
      android:textStyle="bold" /> 
    </LinearLayout> 

</LinearLayout> 

因爲我設置android:weight = "1"兩個textviews內的LinearLayout後除以可用的水平寬度爲一半對每個和android:layout_gravity = "center"將它們設置爲中心。

2

我如何對齊「休假類型」和「可用葉」到 中心名單並調整它們的值到相應的 標題的中心?

gravity屬性兩個LinearLayout's到中心:

android:gravity="center" 
1

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:gravity="center_horizontal"> 

    <TextView 
     android:id="@+id/leave_type_header" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:text="type" 
     android:textColor="#000000" /> 

    <TextView 
     android:id="@+id/leave_type" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:textColor="#000000" 
     android:text="casual" 
     android:textStyle="bold" /> 


</LinearLayout> 

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:gravity="center_horizontal"> 

    <TextView 
     android:id="@+id/available_leaves_header" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:text="available" 
     android:textColor="#000000" /> 

    <TextView 
     android:id="@+id/available_leaves" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:textColor="#000000" 
     android:text="5.0" 
     android:textStyle="bold" /> 
</LinearLayout> 

+0

android:layout_width =「0dp」給我錯誤「可疑尺寸會使視圖隱形」 – 2015-03-03 09:49:09

+0

你也必須給予體重,也請檢查下一行,我已經寫了android:layout_weight =「1」 – 2015-03-03 10:09:40

1

您可以使用android:weightandroid:gravity="center"用於獲取所需的佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:background="@drawable/bg_grey" 
    android:orientation="vertical" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:weightSum="2" > 

    <TextView 
     android:id="@+id/leave_type_header" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_margin="10dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Leave Type" 
     android:textColor="#000000" /> 

    <TextView 
     android:id="@+id/available_leaves_header" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_margin="10dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Available Leaves" 
     android:textColor="#000000" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="left|right" 
    android:orientation="horizontal" 
    android:weightSum="2" > 

    <TextView 
     android:id="@+id/leave_type" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_margin="10dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Privilege" 
     android:textColor="#000000" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/available_leaves" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_margin="10dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="20.0" 
     android:textColor="#000000" 
     android:textStyle="bold" /> 
</LinearLayout> 

</LinearLayout> 

我得到的ListView項類似

enter image description here