studio programacion herramientas fundamentos con avanzado aplicaciones android radio-button padding margin radio-group

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