我正在制作10x10的按钮板,但是,每当我运行我的程序时,它只有一列,按钮延伸到底部,直到我再也看不到它们了。这是我的代码:
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.game);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(32, 32);
final TableLayout container = (TableLayout) findViewById(R.id.tableLayout5);
Button btn[][] = new Button[10][10];
for(int i = 0; i<10; i++){
for(int j = 0; j<10; j++){
btn [i][j] = new Button(this);
container.addView(btn[i][j],i,lp);
}
}
}
和我的XML代码
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/relativeLayout5">
<Button
android:id="@+id/newgamebutton"
android:layout_width="225dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/newgame" />
<TableLayout
android:id="@+id/tableLayout5"
android:layout_width="fill_parent"
android:layout_height="400dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/newgamebutton"
android:orientation="vertical" >
</TableLayout>
</RelativeLayout>
我想知道为什么按钮一直延伸到底部并消失,我不知道它是否与我的布局高度有关。我打算看起来像10x10板
答案 0 :(得分:0)
首先,如果您需要一个10x10的按钮板,您还需要创建TableRows。目前你没有。请阅读TableLayout文档以了解其工作原理。
其次,如果您需要以编程方式在Table上设置布局参数,则必须使用TableRow.LayoutParams,而不是ViewGroup.LayoutParams。
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(32, 32);
我改为使用了这个:
TableRow.LayoutParams lp = new TableRow.LayoutParams(32, 32);