видалити правило з RelativeLayout до 17 квітня


78

Як вилучити правило з макета до API 17? У мене є RelativeLayout з кількома дітьми. RelativeLayout - основна схема моєї діяльності. Після додавання правила програмним використанням

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

Пізніше мені потрібно програмно видалити правило. Як я можу це зробити, припускаючи, що API раніше 17?

Відповіді:


162

Ах, я це зрозумів.

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

Отже, насправді не існує RemoveRule до API 17.


9
Ця відповідь була мені не одразу зрозумілою. У коді Android, removeRule (правило) в основному робить те саме, що і addRule (правило, 0), тому відповідь, показана тут, працює.
greg7gkb

1
@Cote Mounyo, але цей код зараз у AS вимагає api level19, як це робити на рівні api нижче o, рівному 16
Erum,

0

Залежно від ситуації, у моєму випадку я створив нові, LayoutParamsа потім додав необхідні правила

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.