установить ширину кнопки на LinearLayout программно

Я пытаюсь установить ширину кнопки в lila 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);

}

Скриншот: введите здесь описание изображения


person MrPencil    schedule 30.05.2015    source источник
comment
Я думаю, что, поскольку вы устанавливаете as 10px , ваш текст обрезается из-за заполнения стиля Button по умолчанию. попробуйте установить ширину 200 пикселей и высоту 40 пикселей. Строка, которую вы пишете, не является неправильной, она должна работать с правильными параметрами.   -  person M Abdul Sami    schedule 30.05.2015
comment
и попробуйте установить гравитацию, если осталась линейная раскладка | центрировать по вертикали   -  person M Abdul Sami    schedule 30.05.2015
comment
@MAbdulSami: я установил .LayoutParams(500, 150), и это выглядит лучше. Вы знаете, почему числа не на том же уровне, что и флажки?   -  person MrPencil    schedule 30.05.2015


Ответы (1)


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

person Pęgaz    schedule 30.05.2015
comment
Но когда я удалил его, я получил Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2 Как должно быть? - person MrPencil; 30.05.2015
comment
попробуйте скрыть int в строку или добавить . - person Pęgaz; 31.05.2015