我怎样才能像tic tac toe一样动态布局?Android - 如何动态创建NxN布局,如Tic Tac Toe?
它必须是动态的,因为我想制作3x3正方形,或4x4正方形或nxn正方形。
我想我需要2 for-loops
来做到这一点,但究竟是什么以及如何做到这一点?
我怎样才能像tic tac toe一样动态布局?Android - 如何动态创建NxN布局,如Tic Tac Toe?
它必须是动态的,因为我想制作3x3正方形,或4x4正方形或nxn正方形。
我想我需要2 for-loops
来做到这一点,但究竟是什么以及如何做到这一点?
您既可以使用简单易用但只能从api 14获得的GridView,也可以将n个LinearLayouts放置在每个n个LinearLayouts中,您可以在任何api中执行。
这是我为nXn布局应该工作的示例(只需将big_layout替换为您要连接的视图)。
public void createNxNLayouts(int n,int width,int height){
LinearLayout[] main_layouts = new LinearLayout[n];
for(int i=0;i<main_layouts.length;i++){
main_layouts[i] = new LinearLayout(this);
main_layouts[i].setOrientation(LinearLayout.HORIZONTAL);
main_layouts[i].setLayoutParams(new LinearLayout.LayoutParams(width,height/n));
bigLayout.addView(main_layouts[i]);
}
LinearLayout[][] secondary_layouts = new LinearLayout[n][n];
for(int i=0;i<secondary_layouts.length;i++){
for(int j=0;j<secondary_layouts[i].length;j++){
secondary_layouts[i][j] = new LinearLayout(this);
secondary_layouts[i][j].setOrientation(LinearLayout.HORIZONTAL);
secondary_layouts[i][j].setLayoutParams(new LinearLayout.LayoutParams(width/n,height/n));
main_layouts[i].addView(secondary_layouts[i][j]);
}
}
}
我在想它,但我不知道该怎么做,每个线性布局的内部视图如何具有正确的宽度和高度等等......您是否有一些示例? –
这里我添加了一个样本 –
我可以在宽度和高度上传递什么? –