У меня есть один горизонтальный линейный макет с шириной = match_parent и weightsum = 5. Если я вставляю 5 вертикальных линейных макетов с каждой шириной = 0 и весом = 1, все выглядит так, как ожидалось, макеты каждой имеют одинаковую ширину. Если я добавляю только 2 вертикали с каждой шириной = 0 и весом = 1, они занимают больше места, чем должны. Я ожидал, что они также возьмут 1/5 пространства.Android weightsum работает не так, как ожидалось
Возможно, это правильное поведение, что они занимают больше места, и я понял понятие веса/веса.
Спасибо за помощь!
редактировать: Я пытаюсь добавить код
LinearLayout linear=null;
LinearLayout.LayoutParams layoutParams= new
\t \t LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
\t \t LinearLayout.LayoutParams.WRAP_CONTENT);
linear=new LinearLayout(getApplicationContext());
\t \t linear.setOrientation(LinearLayout.HORIZONTAL);
\t \t linear.setLayoutParams(layoutParams);
\t \t linear.setPadding(15, 0, 15, 10);
\t \t linear.setWeightSum(Float.valueOf(modulo));
//modulo 5 in my example
LinearLayout linear2=new LinearLayout(getApplicationContext());
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(0,
\t \t LinearLayout.LayoutParams.WRAP_CONTENT, 1f);
if(count%modulo!=modulo-1){
lp1.setMargins(0, 0, 15, 0);
} else {
lp1.setMargins(0, 0, 0, 0);
}
linear2.setLayoutParams(lp1);
linear2.setOrientation(LinearLayout.VERTICAL);
Я добавить раскладку линейную 2 в линейную в цикле Почему вы можете нажать кнопку запуска код: D
Оставьте свой код. –
Не могли бы вы также опубликовать скриншот? –
это невозможно с атрибутом веса макета. С весом макета, взгляды все равны и заполняют место. – Opiatefuchs