2014-01-13 6 views
0

У меня возникли проблемы с вычислением weight внутри прокрутки на моем приложении для Android. Я хочу, чтобы контент приложения изменялся пропорционально размеру экрана. Как я могу вычислить weight внутри прокрутки?Вес внутри Scrollview

Вот некоторые из моего кода:

LinearLayout layout_principal = (LinearLayout) findViewById(R.id.layout_items);// is horizontal layout and layout of Scrollview 

    LinearLayout layout_titulo_opcion = new LinearLayout(this); 
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.FILL_PARENT, 
      0, 
      1f); 
    layout_titulo_opcion.setLayoutParams(layoutParams); 

    LinearLayout layout_titulo_opcion2 = new LinearLayout(this); 
    LinearLayout.LayoutParams layoutParams2 = new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.FILL_PARENT, 
      0, 
      1f); 
    layout_titulo_opcion2.setLayoutParams(layoutParams2); 

    layout_principal.addView(layout_titulo_opcion); 
    layout_principal.addView(layout_titulo_opcion2); 

ответ

0

Чтобы получить/установить вес, используйте:

LinearLayout.LayoutParams mylp = (LinearLayout.LayoutParams)myLayout.getLayoutParams(); 
int myWeight = mylp.weight; // get weight 
mylp.weight = 4; // set weight 

Чтобы установить сумму веса, используйте:

myLayout.setWeightSum(10); 
+0

Спасибо но я использовал это int scrollMainHeight = layout_principal.getWidth(); Я беру как ссылка ширина LinearLayout layout_principal – mhplur

+0

getWidth() возвращает пространство, которое использует макет. Веса используются для равномерного распределения доступного пространства. например два макета с равными весами получат половину доступного пространства. Если LayoutA weight = 2 и LayoutB weight = 1, то LayoutA получит вдвое больше места, чем LayoutB. Это изменит размер пропорционально любому экрану, который походил на то, что вы просили ... – Jim

+0

Спасибо моему другу за ваш комментарий – mhplur

Смежные вопросы