带列表视图的表格布局
Tablelayout with listview
我正在开发一个 activity,我在其中使用带有 table 布局的列表视图。我想在该列表视图中显示 3 个文本(来自 mysql 数据库值),但问题是文本的显示顺序略有偏离列表顺序,如
Text1 Text1 Text1 Text1 Text1 Text1
Text2 Text2 Text2 and i want this Text2 Text2 Text2
Text3 Text3 Text3 Text3 Text3 Text3
这样..所以关于列表视图或文本视图的 属性 正确设置顺序的想法?然后请评论...
List_row.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow
android:background="@drawable/table_row_bg"
>
<TextView
android:id="@+id/adapter_text_estate"
android:text="estate"
android:gravity="center"
android:textSize="8dp"
android:layout_marginRight="10sp"
android:padding="3dip" />
<TextView
android:id="@+id/adapter_text_division"
android:text="division"
android:gravity="left"
android:textSize="8dp"
android:padding="3dip" />
<TextView
android:id="@+id/adapter_text_id"
android:text="id"
android:textSize="8dp"
android:gravity="right"
android:padding="3dip" />
</TableRow>
</TableLayout>
Main.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="match_parent"
android:background="#E0FFFF"
android:orientation="vertical" >
<TextView
android:id="@+id/cources_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ESTATE NAME"
android:textColor="#429ed7"
android:textSize="12sp"
android:textStyle="bold" />
<ListView
android:id="@+id/listCollege"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:layout_marginTop="8dp" >
</ListView>
</LinearLayout>
尝试删除 stretchColumns
、添加相等的权重并将重心设置为中心。
(另外,替换 fill_parent is deprecated, use match_parent)
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- remove stretchColumns -->
<TableRow
android:background="@drawable/table_row_bg"
android:weightSum="3"> <!-- add -->
<TextView
android:id="@+id/adapter_text_estate"
android:text="estate"
android:gravity="center"
android:textSize="8dp"
android:layout_marginRight="10sp"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
<TextView
android:id="@+id/adapter_text_division"
android:text="division"
android:gravity="center"
android:textSize="8dp"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
<TextView
android:id="@+id/adapter_text_id"
android:text="id"
android:textSize="8dp"
android:gravity="center"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
</TableRow>
</TableLayout>
@Sasya 试试这个代码希望这可以帮助你,你可以在不使用 Table 布局的情况下实现这个设计..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/adapter_text_estate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
<TextView
android:id="@+id/adapter_text_division"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
<TextView
android:id="@+id/adapter_text_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
</LinearLayout> </LinearLayout>
我正在开发一个 activity,我在其中使用带有 table 布局的列表视图。我想在该列表视图中显示 3 个文本(来自 mysql 数据库值),但问题是文本的显示顺序略有偏离列表顺序,如
Text1 Text1 Text1 Text1 Text1 Text1
Text2 Text2 Text2 and i want this Text2 Text2 Text2
Text3 Text3 Text3 Text3 Text3 Text3
这样..所以关于列表视图或文本视图的 属性 正确设置顺序的想法?然后请评论...
List_row.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow
android:background="@drawable/table_row_bg"
>
<TextView
android:id="@+id/adapter_text_estate"
android:text="estate"
android:gravity="center"
android:textSize="8dp"
android:layout_marginRight="10sp"
android:padding="3dip" />
<TextView
android:id="@+id/adapter_text_division"
android:text="division"
android:gravity="left"
android:textSize="8dp"
android:padding="3dip" />
<TextView
android:id="@+id/adapter_text_id"
android:text="id"
android:textSize="8dp"
android:gravity="right"
android:padding="3dip" />
</TableRow>
</TableLayout>
Main.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="match_parent"
android:background="#E0FFFF"
android:orientation="vertical" >
<TextView
android:id="@+id/cources_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ESTATE NAME"
android:textColor="#429ed7"
android:textSize="12sp"
android:textStyle="bold" />
<ListView
android:id="@+id/listCollege"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:layout_marginTop="8dp" >
</ListView>
</LinearLayout>
尝试删除 stretchColumns
、添加相等的权重并将重心设置为中心。
(另外,替换 fill_parent is deprecated, use match_parent)
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- remove stretchColumns -->
<TableRow
android:background="@drawable/table_row_bg"
android:weightSum="3"> <!-- add -->
<TextView
android:id="@+id/adapter_text_estate"
android:text="estate"
android:gravity="center"
android:textSize="8dp"
android:layout_marginRight="10sp"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
<TextView
android:id="@+id/adapter_text_division"
android:text="division"
android:gravity="center"
android:textSize="8dp"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
<TextView
android:id="@+id/adapter_text_id"
android:text="id"
android:textSize="8dp"
android:gravity="center"
android:padding="3dip"
android:layout_weight="1"/> <!-- add -->
</TableRow>
</TableLayout>
@Sasya 试试这个代码希望这可以帮助你,你可以在不使用 Table 布局的情况下实现这个设计..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/adapter_text_estate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
<TextView
android:id="@+id/adapter_text_division"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
<TextView
android:id="@+id/adapter_text_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:text="estate"
android:textSize="20sp" />
</LinearLayout> </LinearLayout>