桌子无侧边框

时间:2019-04-16 21:45:29

标签: android android-layout android-xml android-tablelayout

我希望能够创建表(例如,使用TableLayout),而侧面没有边框。 目的是实现以下目标:

enter image description here

我正在尝试这样的事情:

border.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:left="-5dp" android:right="-5dp" android:top="0dp" android:bottom="0dp">
        <shape
            android:shape="rectangle">
            <stroke android:width="1dp" android:color="#123456" />
        </shape>
    </item>
</layer-list>

和表格布局(一些用于textView的示例值):

  <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/border"
            android:padding="5dp" >

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/home"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="Months" />

                <TextView
                    android:id="@+id/status"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="Number of Visits" />
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="January" />

                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="1" />
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="Februrary" />

                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/border"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="" />
            </TableRow>
        </TableLayout>

它显示如下-我无法获得列之间的中间线:

enter image description here

如何实现我的目标?

2 个答案:

答案 0 :(得分:0)

嗯嗯。下面的代码行将为您提供帮助。

<TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:padding="5dp" xmlns:android="http://schemas.android.com/apk/res/android">

    <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

        <TextView
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="Months" />

        <View android:layout_width="1dp"
              android:layout_height="match_parent"
              android:background="#000"
              android:layout_gravity="center"/>

        <TextView
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="Number of Visits" />
    </TableRow>

    <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

        <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="January" />

        <View android:layout_width="1dp"
              android:layout_height="match_parent"
              android:background="#000"
              android:layout_gravity="center"/>

        <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="1" />
    </TableRow>

    <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

        <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="Februrary" />

        <View android:layout_width="1dp"
              android:layout_height="match_parent"
              android:background="#000"
              android:layout_gravity="center"/>

        <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="" />
    </TableRow>
</TableLayout>

别忘了欣赏和喜欢答案。

答案 1 :(得分:0)

创建一个带有右边框的新图形:

border_right.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:left="0dp" android:right="-5dp" android:top="0dp" android:bottom="0dp">
        <shape
            android:shape="rectangle">
            <stroke android:width="1dp" android:color="#123456" />
        </shape>
    </item>
</layer-list>

并将此可绘制对象用于您的布局,如下所示:

<TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:padding="5dp" >

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="Months" />

            <TextView
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border_right"
                android:gravity="center"
                android:padding="15dip"
                android:text="Number of Visits" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="January" />

            <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border_right"
                android:gravity="center"
                android:padding="15dip"
                android:text="1" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border"
                android:gravity="center"
                android:padding="15dip"
                android:text="Februrary" />

            <TextView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/border_right"
                android:gravity="center"
                android:padding="15dip"
                android:text="" />
        </TableRow>
    </TableLayout>

以上代码的输出如下:

enter image description here