内部にGridLayout
と 2 つ以上のボタンがあり、すべてのボタンは同じ幅でなければなりません。私の問題は、テキストの行数が異なるボタンの場合、ボタンもmarginTop
異なることです。どうすればこれを修正できますか? すべてのボタンを同じ高さの位置に配置したい。
ありがとう。
すでに で設定しようとしていますが、機能Gravity
しFILL_VERTICAL
ていません。
GridLayout grid_neighbor = (GridLayout) findViewById(R.id.grid_neighbors);
grid_neighbor.setColumnCount(4);
for (i = 0; i < namelist.length; ++i) {
Button temp = new Button(this);
temp.setText(namelist[i]);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.gravity = Gravity.FILL_VERTICAL;
temp.setLayoutParams(lp);
//temp.setGravity(Gravity.FILL_VERTICAL);
temp.setWidth(button_size);
temp.setHeight(button_size);
grid_neighbor.addView(temp);
}
ここに写真があります:
これも現在機能しています。
GridLayout grid_neighbor = (GridLayout) findViewById(R.id.grid_neighbors);
grid_neighbor.setColumnCount(4);
for (i = 0; i < namelist.length; ++i) {
Button temp = new Button(this);
temp.setText(namelist[i]);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_TOP, temp.getId());
temp.setLayoutParams(lp);
//temp.setGravity(Gravity.FILL_VERTICAL);
temp.setWidth(button_size);
temp.setHeight(button_size);
grid_neighbor.addView(temp);
}
これはうまくいきます!ありがとう。
GridLayout.Spec speccolumn = GridLayout.spec(i%4);
GridLayout.Spec specrow = GridLayout.spec(i/4, GridLayout.TOP);
grid_neighbor.addView(temp, new GridLayout.LayoutParams(specrow, speccolumn));