我正在尝试将大量按钮连续添加到屏幕上。这些按钮在 TableLayout 中设置。我已经搜索了多个这样的地方: Calculate screen size in android试图找到一种方法来设置多个按钮(1 到 9 之间)的大小,以便它们都适合一个屏幕。按钮是这样动态创建的:
// put values into btn array
for (int i = 0; i < row; i++) {
tr = new TableRow(this);
for (int j = 0; j < col; j++) {
b = new Button(this);
b.setOnClickListener(this);
b.setText(bArray[j][i] + "");
b.setTag(j + "," + i);
tr.addView(b);
}
table.addView(tr);
}
注意:变量 row 和 col 设置为相同的值(数字 1 到 9)。TableLayout 在 xml 中的 RelativeLayout 中设置,如下所示:
<RelativeLayout 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"
tools:context=".MainActivity" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</TableLayout>
编辑:按钮是水平的。