EditText布局超过80

时间:2018-02-19 15:11:39

标签: android-layout android-studio

我刚开始新的Android Studio项目,有点像数独。我使用<EditText />完成了4x4和6x6。当我完成9x9的布局时,我得到了这个警告:

  

...有超过80个查看不良表现

我只是知道这一点,并试图为此找到一些最佳解决方案。

这就是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="310dp"
        android:layout_height="400dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <FrameLayout
            android:layout_width="100dp"
            android:layout_height="125dp"
            android:layout_gravity="top|start"
            android:visibility="visible">

            <EditText
                android:id="@+id/t_00"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|start"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_01"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_02"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|end"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_03"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_04"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_05"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_06"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_07"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_08"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />
        </FrameLayout>

        <FrameLayout
                android:layout_width="100dp"
                android:layout_height="125dp"
                android:layout_gravity="top|center_horizontal"
                android:visibility="visible">

                <EditText
                    android:id="@+id/t_10"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="top|start"
                    android:ems="10"
                    android:inputType="numberSigned" />

                <EditText
                    android:id="@+id/t_11"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="top|center_horizontal"
                    android:ems="10"
                    android:inputType="numberSigned" />

                <EditText
                    android:id="@+id/t_12"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="top|end"
                    android:ems="10"
                    android:inputType="numberSigned" />

                <EditText
                    android:id="@+id/t_13"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="center_vertical|start"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />

                <EditText
                    android:id="@+id/t_14"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />

                <EditText
                    android:id="@+id/t_15"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="center_vertical|end"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />

                <EditText
                    android:id="@+id/t_16"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="bottom|start"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />

                <EditText
                    android:id="@+id/t_17"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="bottom|center_horizontal"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />

                <EditText
                    android:id="@+id/t_18"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_gravity="bottom|end"
                    android:ems="10"
                    android:inputType="numberSigned"
                    android:visibility="visible" />
            </FrameLayout>

            <FrameLayout
            android:layout_width="100dp"
            android:layout_height="125dp"
            android:layout_gravity="top|end"
            android:visibility="visible">

            <EditText
                android:id="@+id/t_20"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|start"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_21"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_22"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|end"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_23"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_24"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_25"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_26"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_27"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_28"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />
            </FrameLayout>

        <FrameLayout
            android:layout_width="100dp"
            android:layout_height="125dp"
            android:layout_gravity="center_vertical|start"
            android:visibility="visible">

            <EditText
                android:id="@+id/t_30"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|start"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_31"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_32"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|end"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_33"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_34"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_35"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_36"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_37"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_38"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />
        </FrameLayout>

        <FrameLayout
            android:layout_width="100dp"
            android:layout_height="125dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:visibility="visible">

            <EditText
                android:id="@+id/t_40"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|start"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_41"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_42"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|end"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_43"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_44"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_45"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_46"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_47"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_48"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />
        </FrameLayout>

...

        <FrameLayout
            android:layout_width="100dp"
            android:layout_height="125dp"
            android:layout_gravity="bottom|end"
            android:visibility="visible">

            <EditText
                android:id="@+id/t_80"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|start"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_81"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_82"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="top|end"
                android:ems="10"
                android:inputType="numberSigned" />

            <EditText
                android:id="@+id/t_83"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_84"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_85"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="center_vertical|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_86"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|start"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_87"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|center_horizontal"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />

            <EditText
                android:id="@+id/t_88"
                android:layout_width="30dp"
                android:layout_height="40dp"
                android:layout_gravity="bottom|end"
                android:ems="10"
                android:inputType="numberSigned"
                android:visibility="visible" />
        </FrameLayout>

        </FrameLayout>
</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

  1. 因为您的所有EditText视图都相似,所以您可以为EditText视图创建一个自定义xml文件,并尝试在您需要的地方充气该视图。

  2. 您可以使用包含9行的 ListView ,其中每行包含9个EditText视图(更简单的方法)

  3. 我认为已经有了各种适合您需求的库。请查看lib here