簡體   English   中英

LinearLayout(水平)-交換按鈕位置

[英]LinearLayout (horizontal) - Swapping button positions

我有一個水平LinearLayout ,其中有4個圖像按鈕,它們的大小均相同,布局參數也相同。 我希望用戶能夠交換按鈕2和3的位置。 我當時在想,他們可能會在按鈕上滑動以交換它們,或者在它們之間還有另一個小按鈕,並按下了箭頭圖像。

我的問題是我不確定如何在布局中交換按鈕位置! 我假設我需要掌握布局中每個布局的索引,然后添加和刪除它們,然后重新計算布局,以便重新繪制布局。 這可能嗎?

同樣,顯示按鈕移動到位置的一些動畫也很好,但是我懷疑這是不可能的。

有什么建議嗎?

是的,您可以交換按鈕:

  1. 您只需確定它們的索引(您可能知道它們,也可以遍歷布局中的所有子項以按其ID查找按鈕的索引)。

  2. 您可以使用removeViewAt(int)刪除一個按鈕。 您應該在此處使用幅度較大的索引,而不是在步驟3中再次確定第二個按鈕的索引。

  3. 您可以使用addView(View, int)在另一個按鈕之前添加已移除的按鈕。 請注意,將用作此方法的參數的索引是第二個按鈕的索引。

  4. 調用invalidate()

是的,我已經使用了轉換動畫。 我將每個按鈕分別向左和向右移動到另一個按鈕的位置,然后偵聽轉換動畫的結尾。 得知動畫已結束時,我替換了布局中的每個按鈕:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM