web-dev-qa-db-fra.com

séparation entre les lignes dans la disposition de la table

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>
12
prakash .k

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>
24
mainu

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"
    ...
15
grantnz

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>
5
ar34z
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);

d'ici.

4
Vinay Wadhwa

Je pense que vous devez jouer avec le fond de la TableLayout et la marge de vos lignes ... 

1
AMerle

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....

0
user4232