在Java代码中交换RelativeLayout中两子view的位置
时间: 2024-02-25 08:54:14 浏览: 23
可以通过修改两个子view的布局参数来实现在RelativeLayout中交换两个子view的位置。具体步骤如下:
1. 获取要交换位置的两个子view的对象
```
View view1 = findViewById(R.id.view1);
View view2 = findViewById(R.id.view2);
```
2. 获取RelativeLayout的对象
```
RelativeLayout relativeLayout = findViewById(R.id.relativeLayout);
```
3. 获取view1和view2的布局参数
```
RelativeLayout.LayoutParams layoutParams1 = (RelativeLayout.LayoutParams) view1.getLayoutParams();
RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) view2.getLayoutParams();
```
4. 修改view1和view2的布局参数
```
layoutParams1.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
layoutParams1.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
layoutParams2.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0);
layoutParams2.addRule(RelativeLayout.BELOW, view1.getId());
```
5. 将修改后的布局参数设置给view1和view2
```
view1.setLayoutParams(layoutParams1);
view2.setLayoutParams(layoutParams2);
```
这样就可以实现在RelativeLayout中交换两个子view的位置了。