Margen establecido de forma programada en RadioButton no aplicado
Estoy intentando fijar un margen a RadioButtons añadido programmatically a un RadioGroup, pero falla .: los RadioButtons se agregan correctamente, pero tienen 0 margen …
¿Alguien puede ayudar?
- ¿Por qué el margen anula marginLeft en Android (mismo con radio, etc)?
- Margen ignorado por LinearLayout
- Margen de visión establecido para Android por programación
- Margen en TextView personalizado
- Juego de Android lista de cajones de navegación para abrir la mitad exacta de la pantalla para todas las pantallas del dispositivo
diseño
<RadioGroup android:id="@+id/rg_nav" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> </RadioGroup>
actividad
float density = getResources().getDisplayMetrics().density; rg_nav = (RadioGroup) findViewById(R.id.rg_nav); LinearLayout.LayoutParams params_rb = new LinearLayout.LayoutParams( (int)(8*density), (int)(8*density)); int margin = (int)(6*density); params_rb.setMargins(margin, margin, margin, margin); for(String url : product.list_url_pic){ RadioButton radio_btn = new RadioButton(ProductHome.this); radio_btn.setButtonDrawable(R.drawable.rb_nav); radio_btn.setId(rb_id++); rg_nav.addView(radio_btn, params_rb); }
- Android: Alinear fondo principal + margen inferior
- ¿Es una mala práctica utilizar márgenes negativos en Android?
- Los márgenes LinearLayout, RelativeLayout, etc. no funcionan como se esperaba
- Establecer márgenes para los botones utilizando drawable en android
- Disposición de Android indeseada de relleno
- Diferencia entre el relleno y el margen de una vista
- Android padding problema
- Centrar elementos en un RecyclerView cuando se implementa con GridLayoutManager
Tuve que reemplazar
LinearLayout.LayoutParams params_rb = new LinearLayout.LayoutParams( (int)(8*density), (int)(8*density));
por
RadioGroup.LayoutParams params_rb = new RadioGroup.LayoutParams( (int)(8*density), (int)(8*density));
Prueba esto:
TableRow.LayoutParams rg_params = new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, 3f); RadioGroup radio_group=new RadioGroup(this); radio_group.setOrientation(RadioGroup.HORIZONTAL); radio_group.setLayoutParams(rg_params); RadioButton dry=new RadioButton(this); RadioGroup.LayoutParams params_soiled = new RadioGroup.LayoutParams(getBaseContext(), null); params_soiled.setMargins(10, 0, 10, 0); dry.setLayoutParams(button_params);
Su código parece correcto. Trate de aplicar LayoutParams
directamente a sus botones
radio_btn.setButtonDrawable(R.drawable.rb_nav); radio_btn.setId(rb_id++); rg_nav.addView(radio_btn); radio_btn.setLayoutParams(params_rb);
- Cómo habilitar / deshabilitar el comportamiento de FloatingActionButton
- Error INSTALL_FAILED_UID_CHANGED al instalar la aplicación