我有一门需要大约 100 个按钮的课程。我知道我可以这样编码:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/scroll"
android:fillViewport="true"
android:scrollbars="none"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="10dp"
android:paddingBottom="65dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:background="@drawable/scrollviewborder"
android:fillViewport="true" >
<Button
android:id="@+id/b1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b3"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b4"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b5"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b6"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b7"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b8"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b9"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b10"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b11"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b12"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b13"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b14"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b15"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b16"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b17"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b18"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b19"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
<Button
android:id="@+id/b20"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
但这似乎不是很有效率,我知道如果我继续这样做,它很快就会发出警告,说我有太多的代码行。有没有更优雅的方法来做到这一点?XML 或 Java 都可以,无论哪种方式。
编辑
我的设计中有 100 个按钮引起了轩然大波。让我解释一下为什么。
这里有人玩 Android/Apple 应用程序 Candy Crush Saga 吗?您知道他们如何一次解锁一个 400 多个关卡吗?这与我正在做的类似,这就是为什么我需要这么多按钮。
在解释之后,如果我仍然做错了,请让我知道,因为我仍然是一个初学者 Android 程序员。