programacion - manual de android en pdf
android add padding entre los botones del grupo de radio programáticamente (1)
Tengo un grupo de radio en xml, y los botones se generan mediante programación. ¿Cómo agrego espacio entre los botones programáticamente?
Pensé que era algo así como LayoutParams
pero mi objeto no viene con un setPadding
obvio setPadding
o setMargins
.
Esto es lo que estaba intentando
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);
Relleno
Normal LayoutParams
no tiene métodos para aplicar relleno, pero las vistas sí lo hacen. Como RadioButton es una subclase de vista, puede usar View.setPadding () , por ejemplo, de esta manera:
currentButton.setPadding(0, 10, 0, 10);
Esto agrega 10px relleno en la parte superior y 10px en la parte inferior. Si desea utilizar otras unidades además de px (por ejemplo, dp
) , puede usar TypedValue.applyDimension()
para convertirlas a píxeles primero.
Márgenes
Los márgenes se aplican a algunas clases específicas de LayoutParams que subclase MarginLayoutParams . Asegúrese de utilizar una subclase específica cuando establezca un margen, por ejemplo, RadioGroup.LayoutParams
lugar del ViewGroup.LayoutParams genérico (cuando su distribución principal es un RadioGroup
) . Entonces simplemente puede usar MarginLayoutParams.setMargins()
.
Muestra:
RadioGroup.LayoutParams params
= new RadioGroup.LayoutParams(context, null);
params.setMargins(10, 0, 10, 0);
currentButton.setLayoutParams(params);