幸福なプログラマ

プログラマは幸福になれる。

Android4.1以下でRelativeLayout.LayoutParamsの相対位置指定を動的に削除したい

RelativeLayoutの相対位置をプログラム中で動的に削除する際RelativeLayout.LayoutParams#removeRuleを使いたいのだけれどAPIレベルが16以下の場合実装されていないため使うことができない。(NoSuchMethodErrorが発生する。)
RelativeLayout.LayoutParams | Android Developers

以下のようにaddRuleの第二引数に0を渡せば削除することが可能です。

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) findViewById(id).getLayoutParams();
params.addRule(RelativeLayout.BELOW, 0);
findViewById(id).setLayoutParams(params);