我正在开发一款应用。因为我从webservice获取数据,我将其插入TextView
。但是,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>
答案 0 :(得分:1)
您可能希望将android:layout_weight
属性与TextView
类似:
<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
,您可能需要为文字对齐1>设置android:layout_gravity="center|right"
和android:layout_gravity="center|left"
强>其余的你应该使用android:layout_gravity="center"
答案 1 :(得分: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"
/>
{{1}}
答案 2 :(得分:0)
将重力添加到TextView
,例如:
android:gravity="center_vertical|center_horizontal"
根据需要将重力变为左,右或中心......
答案 3 :(得分:0)
您是否尝试过向schedule_1_textView_venue添加权重?
答案 4 :(得分:0)
这是一项工作,但你尝试使用TableLayout
吗? This是非常有用的教程,可以帮助您组织正确的视图顺序。
TextViews
不匹配的原因。它来自您上一列名为 VENUE 的不同长度值。例如,值 HYDEBARAD 和 DELHI - 第一个比第二个长得多,这使得行上的所有TextViews
都向左移动。我相信如果您将相同的padding
添加到TextViews
,您将对齐它们。例如:将您的TextViews
带到 MATCH 列并写下以下内容:myTextView.setPadding(40, 0, 0, 0)
(左侧为padding
)这将使它们完全成直线排列。对具有正确TextViews
值的其余padding
执行相同操作,考虑其他列中值的长度......但这有点棘手。 :)