eliminar la regla de RelativeLayout antes de la API 17

78

Antes de API 17, ¿cómo elimino una regla de un diseño? Tengo un RelativeLayout con varios niños. El RelativeLayout es el diseño principal de mi actividad. Después de agregar la regla mediante programación usando

RelativeLayout.LayoutParams layout = (LayoutParams) theChild.getLayoutParams();
layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

Necesito eliminar la regla mediante programación más adelante. ¿Cómo haría esto asumiendo una API anterior a la 17?

Cote Mounyo
fuente

Respuestas:

162

Ah, lo averiguo.

RelativeLayout.LayoutParams layout = (LayoutParams) myChild.getLayoutParams();
layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);

Entonces, realmente no hay removeRule hasta API 17.

Cote Mounyo
fuente
9
Esta respuesta no me quedó clara de inmediato. En el código de Android, removeRule (regla) básicamente hace lo mismo que addRule (regla, 0), por lo que la respuesta que se muestra aquí funciona.
greg7gkb
1
@Cote Mounyo pero ahora este código como se requiere en level19 API cómo hacerlo en el nivel API por debajo o igual a 16
Erum
0

Dependiendo de la situación, en mi caso creé LayoutParamsreglas nuevas y luego agregué las reglas que eran necesarias

El segundo
fuente