如何像tic tac toe一样动态制作布局?
它必须是动态的,因为我想制作3x3正方形,或4x4正方形或nxn正方形。
我认为我需要2 for-loops
才能做到这一点,但具体到底是怎么做的?
答案 0 :(得分:0)
您可以使用简单易用的GridView,但只能从api 14中使用,或者您可以在每个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]);
}
}
}
答案 1 :(得分:0)