我有一个活动,基于TableLayout和TableRow,在其中动态添加了一些按钮,就像这样:
private TableLayout buttonTableLayout;
//-----
for (int row = 0; row < buttonTableLayout.getChildCount(); ++row)
((TableRow) buttonTableLayout.getChildAt(row)).removeAllViews();
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int row = 0; row < 5; row++) {
TableRow currentTableRow = getTableRow(row);
for (int column = 0; column < 5; column++) {
Button newGuessButton = (Button) inflater.inflate(R.layout.my_button, currentTableRow, false);
newGuessButton.setText(String.valueOf((row * 5) + column + 1));
currentTableRow.addView(newGuessButton);
}
}
}
//----
private TableRow getTableRow(int row) {
return (TableRow) buttonTableLayout.getChildAt(row);
}
我希望制作一个5*5的按钮列表,要求:1. 所有按钮大小相同;2. 让它们填满屏幕。我的代码中已经有一个名为“my_button”的布局:
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newButton"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/button_style"></Button>
或者
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_style"></Button>
并且结果是: 我已经更改了重力,但它没有起作用。有没有办法让它们变成正方形并填满屏幕宽度。