2015-03-03 43 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