我有一個水平的LinearLayout,它的程序用孩子填充。我希望能夠切換到從右到左的佈局(即,兒童0在最右側,兒童1在其左側等)。問題是,我希望佈局從RtL切換到LtR並動態返回,這就是爲什麼例如this question與我的情況無關。水平LinearLayout與從右至左排列的子項?
似乎沒有辦法直接在代碼中設置它,特別是因爲引力是用於對齊,而不是排序。
到目前爲止,我看到了以下解決方法:
- 在訂貨開關,重新添加孩子倒順序(問題:極醜和資源消耗)。 (:由於具有限制性的能見度輔助佈局成員大量的複製粘貼的Android的源問題)
- 與一個重寫onLayout()方法實現的的LinearLayout一個子類。
- 用另一個例如LinearLayout代替。一個TableLayout或RelativeLayout,並改變開關(問題:仍有點kludgey)的孩子的佈局參數。
有沒有更直接的解決方案或更好的解決方法?
編輯:爲了澄清,我在活動運行期間幾乎創建了一次孩子,我可以將它們存儲在一個輔助數組/集合中,而不會對代碼造成任何影響。
您正在添加孩子來一次佈置一個或將它們與循環一起添加? – MKJParekh 2012-03-03 08:13:21
這是一個循環,我可以將引用存儲在輔助結構中,而不會太複雜。我將編輯這個問題來澄清這一點。 – 2012-03-03 12:09:57