LinearLayout(水平) - 交换按钮位置

时间:2011-11-29 11:11:25

标签: android

我有一个水平LinearLayout,里面有4个图像按钮,大小相同,布局参数相同。我希望用户能够交换按钮2和3的位置。我以为他们可能会滑动按钮来交换它们,或者可能在它们之间有另一个小按钮,它们按下了箭头图像。

我的问题是我不确定如何在布局中交换按钮位置!我假设我需要在布局中获取每个索引,然后添加和删除它们,然后重新计算布局,以便重新绘制。这可能吗?

同样很高兴显示一些按钮移动到位置的动画,但我怀疑这是不可能的。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

是的,您可以交换按钮:

  1. 您只需确定它们的索引(您可能知道它们,或者您可以遍历布局中的所有子项,以按ID查找按钮的索引)。

  2. 您使用removeViewAt(int)删除了一个按钮。你应该在这里使用幅度更大的索引,而不是在步骤3中再次确定第二个按钮的索引。

  3. 您可以在使用addView(View, int)的其他按钮之前添加已删除的按钮。请注意,您将用作此方法的参数的索引是第二个按钮的索引。

  4. 致电invalidate()

答案 1 :(得分:0)

是的,我已经使用转换动画了。我将每个按钮,一个左,右一个移动到另一个按钮的位置,然后监听转换动画的结束。在被通知动画结束后,我替换了布局中的每个按钮:)