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