いくつかのボタンで構成される Android で動的にレイアウトを作成したいと考えています。しかし、このレイアウトを動的に作成する方法が見つかりません。
これが私のレイアウトです:
デバイスの幅を完全に埋めた後、ボタンを次の行に配置したい。ボタンの総数は変更できます。これを動的に行う方法はありますか?
更新: あなたの提案に従って、私はこのコードを使用しています:
private void addQuestionPallete() {
int tempBtn = 30;
LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 0.1f);
LayoutParams param2 = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f);
linearContent.setWeightSum(1f);
linearContent.setOrientation(LinearLayout.VERTICAL);
btnQuestionPalete = new Button[10];
for (int j = 0; j < tempBtn / 10; j++) {
linearQuestionPalettesRow = new LinearLayout(mContext);
linearQuestionPalettesRow.setOrientation(LinearLayout.HORIZONTAL);
linearQuestionPalettesRow.setLayoutParams(param2);
for (int i = 0; i < 10; i++) {
btnQuestionPalete[i] = new Button(mContext);
btnQuestionPalete[i].setLayoutParams(param);
btnQuestionPalete[i].setTextColor(Color.BLACK);
btnQuestionPalete[i].setText("5");
btnQuestionPalete[i].setId(fChexkBoxID++);
linearQuestionPalettesRow.addView(btnQuestionPalete[i]);
}
}
linearContent.addView(linearQuestionPalettesRow);
}
しかし、ボタンの1行しか表示されません。どこが間違っていますか?
アップデート :
OK私は私の問題を解決しました。forループからレイアウトを追加していました。したがって、レイアウトは一度だけ追加されます。