[英]LinearLayout (horizontal) - Swapping button positions
我有一個水平LinearLayout
,其中有4個圖像按鈕,它們的大小均相同,布局參數也相同。 我希望用戶能夠交換按鈕2和3的位置。 我當時在想,他們可能會在按鈕上滑動以交換它們,或者在它們之間還有另一個小按鈕,並按下了箭頭圖像。
我的問題是我不確定如何在布局中交換按鈕位置! 我假設我需要掌握布局中每個布局的索引,然后添加和刪除它們,然后重新計算布局,以便重新繪制布局。 這可能嗎?
同樣,顯示按鈕移動到位置的一些動畫也很好,但是我懷疑這是不可能的。
有什么建議嗎?
是的,您可以交換按鈕:
您只需確定它們的索引(您可能知道它們,也可以遍歷布局中的所有子項以按其ID查找按鈕的索引)。
您可以使用removeViewAt(int)
刪除一個按鈕。 您應該在此處使用幅度較大的索引,而不是在步驟3中再次確定第二個按鈕的索引。
您可以使用addView(View, int)
在另一個按鈕之前添加已移除的按鈕。 請注意,將用作此方法的參數的索引是第二個按鈕的索引。
調用invalidate()
。
是的,我已經使用了轉換動畫。 我將每個按鈕分別向左和向右移動到另一個按鈕的位置,然后偵聽轉換動畫的結尾。 得知動畫已結束時,我替換了布局中的每個按鈕:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.