相对布局 - 右对齐textview中的数据

时间:2013-01-10 04:45:47

标签: android android-layout textview

我使用以下xml在列表视图中生成一行。虽然我已将gravity设置为center_Verticalright。仅应用center_Vertical但不应用“正确”重力。我甚至尝试过代码。 “正确”的引力不起作用。请帮我纠正代码。 提前致谢 enter image description here

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/tvTicketID"
        android:layout_width="wrap_content"
        android:layout_height="52dp"
        android:layout_centerVertical="true"  
        android:layout_alignParentLeft="true"  
        android:gravity="center_vertical|left"  
        android:text="Ticket ID"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/tvCreationHour" 
        android:gravity="center_vertical|right" 
        android:layout_width="wrap_content"
        android:layout_height="52dp"
        android:layout_alignParentTop="true" 
        android:layout_marginLeft="40dp"
        android:layout_toRightOf="@+id/tvTicketID" 
        android:text="Hour" />

    <TextView
        android:id="@+id/tvTableNumber"
        android:gravity="center_vertical|right" 
        android:layout_width="wrap_content"
        android:layout_height="52dp"
        android:layout_alignParentTop="true" 
        android:layout_marginLeft="24dp"
        android:layout_toRightOf="@+id/tvCreationHour" 
        android:text="Table #" />

    <TextView
        android:id="@+id/tvAmount"
        android:gravity="center_vertical|right" 
        android:layout_width="wrap_content"
        android:layout_height="52dp"
        android:layout_alignParentTop="true"   
        android:layout_marginLeft="18dp"
        android:layout_toRightOf="@+id/tvTableNumber" 
        android:text="Amount" />

</RelativeLayout>

我用于使用上述xml

创建行的代码
holder.tvTicketID.setText(String.valueOf(ticket.getId())) ;   
holder.tvCreationHour.setText(String.valueOf(ticket.getCreationHour())) ; 
holder.tvTableNumber.setText(String.valueOf(ticket.getTableNumber())) ;  
holder.tvAmount.setText(String.valueOf(ticket.getTotalAmount()))  ;  

3 个答案:

答案 0 :(得分:0)

尝试设置android:layout_gravity="right"

答案 1 :(得分:0)

通常,android:gravity="right"android:layout_gravity="right"不同。

第一个影响文本本身在视图中的位置,因此如果您希望它在右对齐,则layout_width=应为"fill_parent""match_parent"。< / p>

第二个影响View在其父级内的位置,换句话说 - 在父视图中对齐对象本身(编辑框或文本视图)。

答案 2 :(得分:0)

最后,我得出了答案。我已将TEXTVIEW中的android:layout_width =“wrap_content”更改为android:layout_width =“30dp”。现在它有效..