J'affiche une seule disposition de table, en ce sens que je veux une ligne de séparation entre les lignes de la table. Il est également possible d'avoir une séparation par colonne dans la disposition de la table.Veuillez m'aider.
Voici ma mise en page de tableau 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>
Vérifie ça. Ça va marcher.
<?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>
Si vous voulez seulement ajouter un séparateur entre les lignes, alors Division de TableRow a une bonne solution.
<TableLayout
Android:divider="?android:attr/dividerHorizontal"
Android:showDividers="middle"
...
La variable TableLayout
étend la variable LinearLayout
afin que vous puissiez ajouter des séparateurs au format xml. Je suppose que cela fonctionnerait à l'époque:
<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>
Mon séparateur ressemble à ceci:
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);
Je pense que vous devez jouer avec le fond de la TableLayout
et la marge de vos lignes ...
J'ai apporté quelques modifications à votre code et je pense que cela vous aidera ...
<?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>
Merci....