Android: программная установка параметра «Вес» делает противоположное тому, что я хочу.

У меня проблема с андроидом. Я устанавливаю параметр Weight в Java, но он делает прямо противоположное тому, что я хочу.

Вот код

LinearLayout container = new LinearLayout(context);
// some code ...
container.setWeightSum(1f);

View v1 = new View(context);
v1.setBackgroundColor(Color.parseColor("#ff0000"));
LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
p1.weight=0.1f;

View v2 = new View(context);
v2.setBackgroundColor(Color.parseColor("#000000"));
LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
p2.weight=0.9f;

container.addView(v1,p1);
container.addView(v2,p2);

Я повторяю этот процесс 7 раз, добавляя черную линию между макетом контейнера. Обычно я должен получить маленькую красную колонку слева и большую черную, но вот что я получаю с этим кодом:

http://i.stack.imgur.com/PPgoy.png

Почему он делает прямо противоположное коду?

7
задан Luuklag 19 May 2019 в 08:20
поделиться