无法使 table 布局显示为带有边距的升高

Unable to make table layout to appear elevated with margins

我正在尝试创建一个 table 带有高度的布局。以下是我的代码,

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"
    android:background="@drawable/box">

    <TableRow>
        <TextView
            android:id="@+id/title"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="Compliance Details: "
            android:textColor="@color/black"
            android:textStyle="bold"
            android:textSize="20dp"/>

    </TableRow>

    <TableRow>
        <TextView
            android:id="@+id/statutoryText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Statutory: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/statutoryValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/statNatureText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Statutory Nature: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/statNatureValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory nature value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/complianceTaskText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Compliance Task: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/complianceTaskValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Compliance task Value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/compDescText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Compliance Description: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/compDescValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/penalConsText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Penal Consequences: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/penalConsValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/comFreqText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Compliance Frequency: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/comFreqValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/compOccText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Compliance Occurence: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/compOccValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="statutory value"
            android:textColor="@color/black" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/appLocText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Applicable Locations: "
            android:textColor="@color/black" />
        <TextView
            android:id="@+id/appLocValue"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Applicable Locations value"
            android:textColor="@color/black" />
    </TableRow>
</TableLayout>

为了在我的 table 布局周围创建边距,我使用以下代码 box.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp"
        android:color="#000000" />
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
    <corners android:radius="8dp" />
</shape>

问题是,table 布局外边距仍然不可见。我已将 box.xml 添加为我的 table 布局的背景,但同样的问题仍然存在。我该如何解决这个问题?

在您的TableLayout

中添加android:layout_margin="10dp"

尝试在 table 布局上使用 ViewCompat.SetElevation 方法

在支持库中找到。