程式碼中動態設定相對佈局裡控制元件的位置
阿新 • • 發佈:2019-02-03
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams();
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, R.id.imageButtonCursor);
設定imageButtonCursor在底部(因為之前此控制元件是依附A控制元件來設定位置的,根據需求A控制元件要隱藏掉,當A控制元件隱藏的時候,imageButtonCursor會跑位,所以要這樣動態設定)
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams(); //因為對SDK要求17以上 所以放棄此方法 //layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM); //這裡需要清除掉之前設定的位置 否則不生效 layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0); layoutParams.addRule(RelativeLayout.ABOVE, R.id.horizontalScrollView1);
R.id.horizontalScrollView1為A控制元件(根據需求此時A控制元件要顯示)顯示出來後
imageButtonCursor有要根據A控制元件去找位置 因為之前設定imageButtonCursor顯示在底部 如果不清除這個位置則 設定的相對位置則是無效的 17以上可以用removeRule的方法 為了相容只能用
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);