Вопрос по padding, margin, radio-group, radio-button, android – Android добавить дополнение между кнопками радиогруппы программно

12

У меня есть радиогруппа в XML, и кнопки генерируются программно. Как мне добавить интервал между кнопками программно.

Я думал, что это было что-то вродеLayoutParams но мой объект не имеет очевидногоsetPadding или жеsetMargins метод.

Это то, что я пытался

RadioButton currentButton = new RadioButton(context);
            currentButton.setText(item.getLabel());
            currentButton.setTextColor(Color.BLACK);

            //add padding between buttons
            LayoutParams params = new LayoutParams(context, null);
            params. ... ??????
            currentButton.setLayoutParams(params);

Ваш Ответ

1   ответ
22

Padding

НормальныйLayoutParams У нас нет методов для применения отступов, но у видов есть. Поскольку RadioButton является подклассом представления, вы можете использоватьView.setPadding ()Например, вот так:

currentButton.setPadding(0, 10, 0, 10);

Это добавляет отступы 10px сверху и 10px снизу. Если вы хотите использовать другие единицы, кроме px(e.g. dp) ты можешь использоватьTypedValue.applyDimension() сначала преобразовать их в пиксели.

Margins

Поля применяются к некоторым конкретным классам LayoutParams, которые подклассMarginLayoutParams, Убедитесь, что вы используете определенный подкласс при установке поля, например,RadioGroup.LayoutParams вместо универсального ViewGroup.LayoutParams(when your parent layout is a RadioGroup), Тогда вы можете просто использоватьMarginLayoutParams.setMargins().

Образец:

RadioGroup.LayoutParams params 
           = new RadioGroup.LayoutParams(context, null);
params.setMargins(10, 0, 10, 0);
currentButton.setLayoutParams(params);
Я думаю, что значение отступа по умолчанию равно приблизительно 10, поэтому, когда вы дадите 10 отступов, вы не заметите его, попробуйте большее значение, например 40, и вы увидите, что оно работает.
Привет. Я пробовал код полей, приведенный выше, и он не работает. Кнопки просты рядом с другой.

Похожие вопросы