我有一个像下面附带屏幕的UI。
所以我选择TableLayout
。
现在数据来自API,记录数量超过300个。
TableLayout
位于ScrollView
内。我必须动态地在TableLayout
中添加行,因为数据来自Webservices。
现在我自动添加了300多个视图,因为TableLayout
屏幕的一行响应速度很慢。花时间添加和绘制视图。
以下是我添加动态视图的逻辑
TableLayout table=(TableLayout)findViewById(R.id.table);
for(int count=0;count<data.size();count++)
{
// Here I create dynamic TableRow and set Data inside Row
table.addView(row);
}
我选择TableLayout
的原因是只保留行和列格式的数据。
LinearLayout
内的{p> RelativeLayout
/ ListView
未正确保持对齐。
有人可以建议我更优化的解决方案吗?
下面是我使用过LinearLayout
的xml文件<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtRank"
style="@style/txt_normal_dark_gray"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="@dimen/small_padding"" />
<TextView
android:id="@+id/txtDriverName"
style="@style/txt_normal_dark_gray"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="@dimen/small_padding" />
<TextView
android:id="@+id/txtPts"
style="@style/txt_normal_dark_gray"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="@dimen/small_padding" />
<TextView
android:id="@+id/txtWins"
style="@style/txt_normal_dark_gray"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="@dimen/small_padding" />
</LinearLayout>
现在猜测txtDriverName有长字符串或者txtWins是空字符串,下一个列表行项目是否会有相同的对齐方式?我也尝试使用weight_sum并为所有TextViews赋予了权重。