带边框的自定义 Table Android 视图

Custom Table Android view with borders

我必须实现这样的视图。所有视图都是固定的,没有滚动。

我该怎么做?我应该使用什么视图? GridLayout、TableLayout 甚至 RecyclerView。

这正是您需要的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_weight="2">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:weightSum="5"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="4">

                <RelativeLayout
                    android:layout_marginTop="25dp"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <TableLayout
                        android:layout_gravity="bottom"
                        android:gravity="bottom"
                        android:padding="6dp"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:stretchColumns="*">
                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="1"/>
                            <TextView
                                android:text="2"/>
                            <TextView
                                android:text="3"/>
                            <TextView
                                android:text="4"/>
                            <TextView
                                android:text="5"/>
                            <TextView
                                android:text="6"/>
                            <TextView
                                android:text="7"/>
                            <TextView
                                android:text="8"/>
                            <TextView
                                android:text="9"/>


                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                            <TextView
                                android:text="6"/>
                            <TextView
                                android:text="7"/>
                            <TextView
                                android:text="3"/>
                            <TextView
                                android:text="4"/>
                            <TextView
                                android:text="5"/>
                            <TextView
                                android:text="8"/>
                            <TextView
                                android:text="1"/>
                            <TextView
                                android:text="2"/>
                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                            <TextView
                                android:text="6"/>
                            <TextView
                                android:text="7"/>
                            <TextView
                                android:text="3"/>
                            <TextView
                                android:text="4"/>
                            <TextView
                                android:text="5"/>
                            <TextView
                                android:text="8"/>
                            <TextView
                                android:text="1"/>
                            <TextView
                                android:text="2"/>
                        </TableRow>
                    </TableLayout>
                </RelativeLayout>
            </LinearLayout>
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@android:color/black"></View>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">

                <RelativeLayout
                    android:layout_marginTop="25dp"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <TableLayout
                        android:layout_gravity="bottom"
                        android:gravity="bottom"
                        android:padding="6dp"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:stretchColumns="*">
                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text=""/>
                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                        </TableRow>
                    </TableLayout>
                </RelativeLayout>
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/black"></View>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:weightSum="5"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="4">
                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <TableLayout
                        android:padding="6dp"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:stretchColumns="*">
                    <TableRow
                        android:padding="5dp">
                        <TextView
                            android:text="1"/>
                        <TextView
                            android:text="2"/>
                        <TextView
                            android:text="3"/>
                        <TextView
                            android:text="4"/>
                        <TextView
                            android:text="5"/>
                        <TextView
                            android:text="6"/>
                        <TextView
                            android:text="7"/>
                        <TextView
                            android:text="8"/>
                        <TextView
                            android:text="9"/>


                    </TableRow>

                    <TableRow
                        android:padding="5dp">
                        <TextView
                            android:text="5"/>
                        <TextView
                            android:text="6"/>
                        <TextView
                            android:text="7"/>
                        <TextView
                            android:text="3"/>
                        <TextView
                            android:text="4"/>
                        <TextView
                            android:text="5"/>
                        <TextView
                            android:text="8"/>
                        <TextView
                            android:text="1"/>
                        <TextView
                            android:text="2"/>
                    </TableRow>

                    <TableRow
                        android:padding="5dp">
                        <TextView
                            android:text="5"/>
                        <TextView
                            android:text="6"/>
                        <TextView
                            android:text="7"/>
                        <TextView
                            android:text="3"/>
                        <TextView
                            android:text="4"/>
                        <TextView
                            android:text="5"/>
                        <TextView
                            android:text="8"/>
                        <TextView
                            android:text="1"/>
                        <TextView
                            android:text="2"/>
                    </TableRow>
                    </TableLayout>
                </RelativeLayout>
            </LinearLayout>
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@android:color/black"></View>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <TableLayout
                        android:padding="6dp"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:stretchColumns="*">
                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text=""/>
                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                        </TableRow>

                        <TableRow
                            android:padding="5dp">
                            <TextView
                                android:text="5"/>
                        </TableRow>
                    </TableLayout>
                </RelativeLayout>
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

    </LinearLayout>



</LinearLayout>