Итак, у меня есть LinearLayout в горизонтальном режиме, к которому я добавляю кнопки в произвольное время в коде, и мне нравятся все они, чтобы заполнить пространство одинаково.
Это мой текущий код:
layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.FILL;
и я добавляю его в мой вид здесь:
linearLayout.addView(button, layoutParams);
Все, что он делает, это добавляет кнопки, как если бы это было wrap_content
, и не расширяет их ширину, чтобы заполнить доступное пространство, как на кнопках, выглядят выровненными влево.
Я также пробовал linearLayout.setGravity(Gravity.FILL_HORIZONTAL);
и
linearLayout.setWeightSum(++weightSum);
linearLayout.addView(button, layoutParams);
, где layoutParams
в данном случае:
layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 1);
Я также пытался установить нулевую ширину макета для ответов на другие вопросы.
Мне не хватает другой техники?
Редактировать: Я понял, я забыл установить ширину LinearLayout match_parent
вместо wrap_content
.