2012-02-11 125 views
0
  1. 如何交換ViewGroup中兩個子項的索引?Android和重新排序ViewGroup的子項

  2. 如何在子視圖上使用setLeft?它似乎沒有被定義爲類View的對象。

編輯。

對#2的回答是,setLeft僅適用於API11。同上setX

回答

1

您可以刪除所有的孩子,並按要求的順序添加。我找不到另一種方式。

恕我直言,重組佈局的最佳方式是使用RelativeLayout。

正如我這樣做:

// prepare rules 
lpTopLeft = new RelativeLayout.LayoutParams(minDimension/5, minDimension/5); 
lpTopLeft.setMargins(minDimension/50, minDimension/50, minDimension/50, minDimension/50); 
lpTopLeft.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
lpTopLeft.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 

現在使用準備好的設置:

// rearrange child 
bnReset.setLayoutParams(lpTopLeft); 
+0

確實。我想重新安排孩子,而不必從頭開始擴大整個佈局。 – SK9 2012-02-11 23:10:19

1

我猜刪除的意見和重新充氣的佈局是唯一的解決辦法。也許你可以嘗試使用ViewFlipper。我不知道它是否適合你的情況。

0

最好的解決辦法: flexbox-layout by Google

FexboxLayout是一個庫項目帶來CSS靈活盒佈局模塊到Android的類似的功能。

然後你可以設置

layout_order

這個屬性可以改變孩子的視圖的排序是如何佈局。默認情況下,子項的顯示和排列順序與它們在佈局XML中的顯示順序相同。如果未指定,則將1設置爲默認值。