Câu trả lời:
Đúng:
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.below_id);
viewToLayout.setLayoutParams(params);
Đầu tiên, mã tạo ra một tham số bố cục mới bằng cách chỉ định chiều cao và chiều rộng. Các addRule
phương pháp bổ sung tương đương với xml đúng android:layout_below
. Sau đó, bạn chỉ cần gọi View#setLayoutParams
vào chế độ xem bạn muốn có các thông số đó.
Ngoài ra, bạn có thể sử dụng các tham số bố cục hiện tại và sửa đổi chúng:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
thay vì tạo ra những cái mới. Trong thực tế, điều này nên được chấp nhận là câu trả lời chính xác.
Trong khi câu trả lời @jackofallcode là chính xác, nó có thể được viết thành một dòng:
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
để thiết lập chúng vớisetLayoutParams