2015-05-30 3 views
1

Я пытаюсь установить ширину кнопки в линейке lila LinearLayout, но я получаю ее точно так же, как на скриншоте. Как установить ширину кнопки? Я столкнулся с другой проблемой. Номер элемента рядом с флажками немного выше уровня флажка. Как я могу настроить это программно, чтобы установить их на один уровень?установить ширину кнопки в LinearLayout программно

private void createRadioButton(final ArrayList<Integer> items) { 

    final LinearLayout ll = (LinearLayout) findViewById(R.id.lila); 
     for (int i = 0; i < items.size(); i++) { 
     CheckBox cb = new CheckBox(this); 
     cb.setText(items.get(i) + "\n"); 
     cb.setId(i + 10); 
     ll.addView(cb); 

    } 



    Button btn = new Button(this); 
    btn.setText("submit"); 
      // With this line below I am not getting the button displayed. 
    //btn.setLayoutParams(new LinearLayout.LayoutParams(10, 40)); 
    ll.addView(btn); 

} 

Скриншот: enter image description here

+1

Я думаю, что при настройке с 10px ваш текст вырезается из-за заполнения стиля по умолчанию Button. попробуйте установить ширину как 200 px и высоту 40 пикселей. Строка, которую вы пишете, не ошибается, она должна работать с правильными параметрами. –

+0

и попробуйте установить гравитацию, если линейная компоновка «left | center vertically» –

+0

@MAbdulSami: Я установил ее в '.LayoutParams (500, 150)', и это выглядит лучше. Вы знаете, почему цифры не на том же уровне, что и флажки? – MrPencil

ответ

2

О числа отображается выше флажком.
В вашем коде cb.setText(items.get(i) + "\n"); вы помещаете новую строку, поэтому рядом с флажком находится diplayed number И новая строка

+0

Но когда я удалил его, я получил 'Caused by: android.content.res.Resources $ NotFoundException: Идентификатор ресурса строки # 0x2' Как это должно быть? – MrPencil

+0

попробуйте покрыть int до строки или добавить "". –