0

我正在开发一个应用程序。我正在从 web 服务获取数据并将其插入到TextView. 但是,文本视图的对齐方式变得混乱。请检查图像。

前 3 行(黑色)按正确顺序排列,从第 4 行开始被打乱。我用谷歌搜索了很多次,但没有得到我想要的确切解决方案。

在此处输入图像描述

XML 代码:

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

     <TextView
        android:id="@+id/schedule_1_textView_day_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="KKR"
        android:layout_weight="1.5"
        android:layout_marginTop="10dp"
        android:textColor="@color/Black"            
        android:textSize="7sp"
        />        

    <TextView
        android:id="@+id/schedule_1_textView_matchno"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="10"
        android:layout_weight="1.5"
        android:layout_marginTop="10dp"
        android:textColor="@color/Black"
        android:textSize="7sp"
        />        

    <TextView
        android:id="@+id/schedule_1_textView_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:text="6"
        android:textColor="@color/Black"
        android:textSize="7sp"
        />   

    <TextView
        android:id="@+id/schedule_1_textView_team1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:text="4"
        android:textSize="7sp"
        android:textColor="@color/Black"
        />       

    <TextView
        android:id="@+id/schedule_1_textView_team2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0"
        android:layout_weight="1"
        android:layout_marginTop="10dp"          
        android:textColor="@color/Black"
        android:textSize="7sp"
        />       

    <TextView
        android:id="@+id/schedule_1_textView_venue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="6"
        android:layout_marginTop="10dp"
        android:textColor="@color/Black"
        android:textSize="7sp"
        /> 

    <TextView
        android:id="@+id/schedule_1_textView_blank"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="B"
        android:layout_marginTop="20dp"
        android:textColor="@color/Black"
        android:textSize="6sp"
        android:visibility="invisible"
        /> 


 </LinearLayout>
4

5 回答 5

1

您可能想将android:layout_weight属性分配给TextViews,例如:

<TextView
    android:id="@+id/schedule_1_textView_venue"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="6"
    android:layout_marginTop="10dp"
    android:textColor="@color/Black"
    android:textSize="7sp" />

您将需要根据您的要求分配重量。即对于更大的视图,您希望分配更高的值。

[编辑]最后一个TextView你可能想要设置android:layout_gravity="center|right"android:layout_gravity="center|left"第一个用于文本对齐,其余的你应该使用android:layout_gravity="center"

于 2014-04-01T11:51:09.107 回答
1

尝试这个..

您忘记android:layout_weight="1"为以下两个添加全部TextView使用android:singleLine="true"TextView

<TextView
    android:id="@+id/schedule_1_textView_venue"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:text="6"
    android:layout_marginTop="10dp"
    android:textColor="@color/Black"
    android:textSize="7sp"
    /> 

<TextView
    android:id="@+id/schedule_1_textView_blank"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:text="B"
    android:layout_marginTop="20dp"
    android:textColor="@color/Black"
    android:textSize="6sp"
    android:visibility="invisible"
    /> 
于 2014-04-01T11:59:16.333 回答
0

为您的喜欢添加重力TextView

android:gravity="center_vertical|center_horizontal"

根据需要将重力更改为向左,向右或中心...

于 2014-04-01T11:47:48.623 回答
0

您是否尝试过为 schedule_1_textView_venue 增加权重?

于 2014-04-01T11:49:03.467 回答
0

这是一个多一点的工作,但你试过使用TableLayout吗?是非常有用的教程,可以帮助您组织正确的视图顺序。

编辑:我想我知道是什么导致TextViews. 它来自名为VENUE的最后一列中值的不同长度。以HYDEBARADDELHI值为例——第一个比第二个长得多,这使得TextViews行上的所有值都向左移动。我敢肯定,如果你把相同padding的,TextViews你会对齐它们。例如:TextViewsMATCH列中输入以下内容:(myTextView.setPadding(40, 0, 0, 0)padding左侧)这会将它们完全排成一行。TextViews用正确的方法对其余部分做同样的事情padding值,考虑到其他列中值的长度......虽然有点棘手。:)

于 2014-04-01T11:53:57.083 回答