我刚开始新的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>
答案 0 :(得分:1)
因为您的所有EditText视图都相似,所以您可以为EditText视图创建一个自定义xml文件,并尝试在您需要的地方充气该视图。
您可以使用包含9行的 ListView ,其中每行包含9个EditText视图(更简单的方法)
我认为已经有了各种适合您需求的库。请查看lib here