1つのテーブルレイアウトを表示していますが、テーブルの行間に区切り線が必要です。また、テーブルレイアウトで列ごとに区切ることもできます。私を助けてください。
以下は私のxmlテーブルレイアウトです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:paddingBottom="6dip"
Android:paddingTop="4dip">
<TableLayout
Android:id="@+id/tablelayout"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:paddingRight="2dip">
<TableRow>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Income"></TextView>
<TextView
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:layout_marginLeft="150dp"
Android:text="Expense"></TextView>
</TableRow>
<TableRow Android:layout_marginTop="30px">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Household:"></TextView>
<TextView
Android:id="@+id/text50"
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:text="Household:"></TextView>
</TableRow>
<TableRow Android:layout_marginTop="40px">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_span="2"
Android:text="Travel:"></TextView>
<TextView
Android:id="@+id/text51"
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:layout_marginLeft="-250dp"
Android:text="Travel"></TextView>
</TableRow>
<TableRow Android:layout_marginTop="40px">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_span="2"
Android:text="Education:"></TextView>
<TextView
Android:id="@+id/text52"
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:layout_marginLeft="-250dp"
Android:text="Education"></TextView>
</TableRow>
</TableLayout>
</LinearLayout>
これをチェックして。それが動作します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@Android:color/white"
Android:orientation="vertical"
Android:paddingBottom="6dip"
Android:paddingTop="4dip" >
<TableLayout
Android:id="@+id/tablelayout"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:paddingRight="2dip" >
<TableRow>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Income" >
</TextView>
<TextView
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:layout_marginLeft="150dp"
Android:text="Expense" >
</TextView>
</TableRow>
<TableRow
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<View
Android:id="@+id/line1"
Android:layout_width="match_parent"
Android:layout_height="1dip"
Android:layout_weight="1"
Android:background="#FF909090"
Android:padding="2dip" />
</TableRow>
<TableRow Android:layout_marginTop="30px" >
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Household:" >
</TextView>
<TextView
Android:id="@+id/text50"
Android:layout_width="150px"
Android:layout_height="wrap_content"
Android:text="Household:" >
</TextView>
</TableRow>
</TableLayout>
</LinearLayout>
行間に仕切りを追加するだけの場合は、 TableRow Division が適切な解決策です。
<TableLayout
Android:divider="?android:attr/dividerHorizontal"
Android:showDividers="middle"
...
TableLayout
はLinearLayout
を拡張するため、XMLにディバイダーを追加できます。私はこれが当時うまくいくと思います:
<TableLayout
Android:id="@+id/basket_summary_table"
Android:showDividers="middle"
Android:divider="@drawable/divider_list"
Android:padding="@dimen/element_large_spacing"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:stretchColumns="0">
</TableLayout>
私の仕切りは次のようになります:
divider_list.xml
<?xml version="1.0" encoding="utf-8"?>
<shape Android:shape="rectangle" xmlns:Android="http://schemas.Android.com/apk/res/Android">
<size Android:height="1dp" />
<solid Android:color="@color/list_divider" />
</shape>
View v = new View(this);
v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
v.setBackgroundColor(Color.rgb(51, 51, 51));
tr.addView(mTvDate);
tr.addView(mTvResult);
tl.addView(tr);
tl.addView(v);
TableLayout
の背景と行のマージンをいじる必要があると思います...
私はあなたのコードにいくつかの変更を加えました、そしてこれがあなたを助けると思います...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:paddingTop="4dip"
Android:paddingBottom="6dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
<TableLayout
Android:id="@+id/tablelayout"
Android:layout_height="wrap_content"
Android:layout_width="fill_parent"
Android:paddingRight="2dip">
<TableRow >
<TextView Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="Income">
</TextView>
<TextView
Android:layout_width="150px" Android:layout_height="wrap_content" Android:text="Expense" Android:layout_marginLeft="150dp">
</TextView>
</TableRow>
<View Android:id="@+id/firstDivider"
Android:layout_height="2dp"
Android:layout_width="fill_parent"
Android:background="#FFFFFF" />
<TableRow Android:layout_marginTop="30px">
<TextView Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="Household:" >
</TextView>
<TextView
Android:id="@+id/text50" Android:layout_width="150px" Android:layout_height="wrap_content" Android:text="Household:">
</TextView>
</TableRow>
<View Android:id="@+id/firstDivider"
Android:layout_height="2dp"
Android:layout_width="fill_parent"
Android:background="#FFFFFF" />
<TableRow Android:layout_marginTop="40px">
<TextView Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="Travel:" Android:layout_span="2">
</TextView>
<TextView
Android:id="@+id/text51"
Android:layout_width="150px" Android:layout_height="wrap_content" Android:text="Travel" Android:layout_marginLeft="-250dp">
</TextView>
</TableRow>
<View Android:id="@+id/firstDivider"
Android:layout_height="2dp"
Android:layout_width="fill_parent"
Android:background="#FFFFFF" />
<TableRow Android:layout_marginTop="40px">
<TextView Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="Education:" Android:layout_span="2">
</TextView>
<TextView
Android:id="@+id/text52"
Android:layout_width="150px" Android:layout_height="wrap_content" Android:text="Education" Android:layout_marginLeft="-250dp">
</TextView>
</TableRow>
<View Android:id="@+id/firstDivider"
Android:layout_height="2dp"
Android:layout_width="fill_parent"
Android:background="#FFFFFF" />
</TableLayout>
</LinearLayout>
ありがとう...