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);