Я определяю все компоненты GUI в коде без файла макета xml. У меня есть основной линейный макет и 5 внутренних макетов в нем. Код:
LinearLayout llMain = new LinearLayout (this);
llMain.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT ));
llMain. setOrientation (LinearLayout.VERTICAL);
llMain.setWeightSum(1.0f);
LinearLayout ll1 = new LinearLayout(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
lp.weight = 0.2f
ll1.setLayoutParams(lp);
llMain.addView(ll1);
....
....
Но это не дает ожидаемого результата. Внутренний макет ll1 имеет около 70% высоты макета llMain вместо 20%. Итак, как я могу установить высоту внутреннего макета ll1 равным 1/5 высоты его родительского макета llMain? Благодарю.