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