如何交换两个LinearLayout

时间:2014-02-19 18:40:44

标签: android android-layout

我有一个父线性布局,里面有两个线性布局和一个按钮。父线性布局中的每个线性布局都有两个项目。项目包括一个编辑文本和一个微调器。我想要的是当我点击按钮时交换这两个LinearLayout。所以我的问题是我如何以编程方式做到这一点?我是Android开发的新手,所以请帮我解决这个问题。

4 个答案:

答案 0 :(得分:0)

在最外面的LinearLayout上,尝试调用removeViewAt(0)。这应该删除第一个LinearLayout。然后调用addView()将第一个LinearLayout传递给它。

答案 1 :(得分:0)

一种简单的方法就是制作两种布局。经过精心设计,当您准备使用另一个时,切换布局,然后将其设置为当前视图。

或者你可以通过各种动画类来做到这一点,如果想尝试使用它。如果您正在尝试接收确切的视觉效果,可能会提供更多关于您想要的内容。

答案 2 :(得分:0)

正如Karim所提到的,你可以使用setVisibilty()来View.GONE和View.VISIBLE。 但是为了顺利交换,您需要了解Translate Animation

答案 3 :(得分:0)

这是一个如何交换两个视图(例如,两个LinearLayouts)的工作示例:

ViewGroup root = findViewById(R.id.my_root);
// assumption: root has 2 child views only 
// swap left and right (or top and bottom)
View leftView = root.getChildAt(0);
root.removeViewAt(0);
root.addView(leftView);
// now the two child views of root are swapped