我有一个水平LinearLayout
,里面有4个图像按钮,大小相同,布局参数相同。我希望用户能够交换按钮2和3的位置。我以为他们可能会滑动按钮来交换它们,或者可能在它们之间有另一个小按钮,它们按下了箭头图像。
我的问题是我不确定如何在布局中交换按钮位置!我假设我需要在布局中获取每个索引,然后添加和删除它们,然后重新计算布局,以便重新绘制。这可能吗?
同样很高兴显示一些按钮移动到位置的动画,但我怀疑这是不可能的。
有什么建议吗?
答案 0 :(得分:1)
是的,您可以交换按钮:
您只需确定它们的索引(您可能知道它们,或者您可以遍历布局中的所有子项,以按ID查找按钮的索引)。
您使用removeViewAt(int)
删除了一个按钮。你应该在这里使用幅度更大的索引,而不是在步骤3中再次确定第二个按钮的索引。
您可以在使用addView(View, int)
的其他按钮之前添加已删除的按钮。请注意,您将用作此方法的参数的索引是第二个按钮的索引。
致电invalidate()
。
答案 1 :(得分:0)
是的,我已经使用转换动画了。我将每个按钮,一个左,右一个移动到另一个按钮的位置,然后监听转换动画的结束。在被通知动画结束后,我替换了布局中的每个按钮:)