How to set divider between columns in tablelayout?

后端 未结 7 1872
南旧
南旧 2020-12-10 06:07

I want to create a table with column dividers. I want to divide my columns with a vertical bar image. To achieve this I have used \"android:divider=\"@drawable/abc\"

相关标签:
7条回答
  • 2020-12-10 06:26

    It's quite late to answer this question but here is the correct way to it.

    For dividers between rows :

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:divider="@color/colorPrimary"
        android:showDividers="middle">
    

    and for dividers between columns:

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@color/colorPrimary"
        android:showDividers="middle">
    

    Explaination:

    The divider tag in <TableLayout> is used to place divider between it's direct childrens i.e Rows.

    While the divider tag in <TableRow> is used to place divider between it's direct childrens i.e Columns

    0 讨论(0)
  • 2020-12-10 06:27

    Add android:showDividers="middle"

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="horizontal" 
      android:stretchColumns="*"
      android:padding="5dip"
      android:divider="@drawable/tracking_green"
      android:showDividers="middle"
    >
    
    0 讨论(0)
  • 2020-12-10 06:37

    try set the second textview marginleft=1dp. if you don't want divider set marginleft = 0dp

    0 讨论(0)
  • 2020-12-10 06:44

    In a list with a vertical divider use the ImageView as follows:

    <ImageView 
        android:id="@+id/divider"
        android:contentDescription="@string/divider"
        android:layout_width="1dp"
        android:layout_height="65dp"
        android:layout_marginTop="8sp" 
        android:background="#3B3B3B"
        />
    

    To avoid showing a divider when there aren't elements in the list you can delete the android:background="#3B3B3B" line and set it programmatically:

    ((ImageView) view.findViewById(R.id.divider)).setBackgroundColor(Color.parseColor("#3B3B3B"));
    
    0 讨论(0)
  • 2020-12-10 06:48

    This is how I did it !

    CODE

    <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:orientation="vertical" >
    
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="5dp" >
    
                    <TextView
                        android:id="@+id/textView4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:paddingBottom="50dp"
                        android:text="Salary Details"
                        android:textAppearance="?android:attr/textAppearanceLarge"
                        android:textStyle="bold" />
    
                    <TableLayout
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:shrinkColumns="0"
                        android:stretchColumns="1" >
    
                        <TableRow
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_gravity="center_vertical" >
    
                            <TextView
                                android:layout_gravity="center_vertical"
                                android:gravity="left"
                                android:text="Financial Year"
                                android:textColor="@android:color/white"
                                android:textSize="14sp"
                                android:textStyle="bold" />
    
                            <Spinner
                                android:id="@+id/spnSearchByCity"
                                android:layout_width="fill_parent"
                                android:layout_height="40dp"
                                android:layout_gravity="center_vertical"
                                android:entries="@array/year"
                                tools:listitem="@android:layout/simple_spinner_dropdown_item" />
                        </TableRow>
                    </TableLayout>
    
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#d30059"
                        android:orientation="vertical"
                        android:paddingTop="50dp" >
    
                        <TableLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content" >
    
                            <TableRow
                                android:id="@+id/tableRow1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:background="@android:color/white" >
    
                                <TextView
                                    android:id="@+id/textView1"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_marginTop="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="Month"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <TextView
                                    android:id="@+id/textView2"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_marginTop="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="Net Salary"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <TextView
                                    android:id="@+id/textView3"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_marginRight="1dp"
                                    android:layout_marginTop="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="Click"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
                            </TableRow>
    
                            <TableRow
                                android:id="@+id/tableRow2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:background="@android:color/white" >
    
                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="Jan"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="11305"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <LinearLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_marginRight="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:orientation="vertical" >
    
                                    <TextView
                                        android:id="@+id/txtDetailsOneId"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:layout_weight="1"
                                        android:background="#000000"
                                        android:text="DETAILS"
                                        android:textAppearance="?android:attr/textAppearanceMedium" />
                                </LinearLayout>
                            </TableRow>
    
                            <TableRow
                                android:id="@+id/tableRow3"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:background="@android:color/white" >
    
                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="Feb"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:text="11405"
                                    android:textAppearance="?android:attr/textAppearanceMedium" />
    
                                <LinearLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_marginBottom="1dp"
                                    android:layout_marginLeft="1dp"
                                    android:layout_marginRight="1dp"
                                    android:layout_weight="1"
                                    android:background="#d30059"
                                    android:gravity="center"
                                    android:orientation="vertical" >
    
                                    <TextView
                                        android:id="@+id/txtDetailsTwoId"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:layout_weight="1"
                                        android:background="#000000"
                                        android:text="DETAILS"
                                        android:textAppearance="?android:attr/textAppearanceMedium" />
                                </LinearLayout>
                            </TableRow>
    
                            <TableRow
                                android:id="@+id/tableRow4"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content" >
                            </TableRow>
                        </TableLayout>
                    </LinearLayout>
                </LinearLayout>
    
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="50dp" >
    
                    <Button
                        android:id="@+id/btnMainMenuId"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="5dp"
                        android:text="MAIN MENU"
                        android:textColor="@android:color/white"
                        android:textSize="12sp" />
                </LinearLayout>
            </LinearLayout>
    

    Snapshot

    enter image description here

    0 讨论(0)
  • 2020-12-10 06:49

    since tablelayout does not provide this directly, one posibble way might be a framelayout. place the desired table above another background_table wich only have one row and "match_parent" for height/width. add 3 columns with desired layout_weights. add vertical divider-imageview to second column. the main table should also use the same layout_weihts +margin in it`s rows to look good.

    horizontal divider possibly could be realized by adding an imageview between the "to-be-separated" tablerows.

    not tested yet, just an approach

    ornay

    0 讨论(0)
提交回复
热议问题