首页 > 解决方案 > 无侧边框的表格

问题描述

我希望能够在没有边框的情况下创建表格(例如使用 TableLayout)。目标是实现以下目标:

在此处输入图像描述

我正在尝试这样的事情:

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>

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

在此处输入图像描述

如何实现我的目标?

标签: androidandroid-layoutandroid-xmlandroid-tablelayout

解决方案


hhmmm 相当 owsome。下面的代码行将对您有所帮助。

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

并且不要忘记欣赏和喜欢答案。


推荐阅读