我正在嘗試創建一個單詞混雜遊戲,您將混亂的單詞和字母交換中的字母向右或向左拖動。以編程方式在RelativeLayout中重新排序項目的最佳方式是什麼?因此,當字母被拖動時,左側的字母被放置在被拖動的字母的右側。以編程方式重新排列RelativeLayout
我已經嘗試過這樣的基本測試。
public static void moveTile(Tile tile, int x, RelativeLayout parent) {
if (x < tile.getWidth()) {
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.LEFT_OF, tile.getId() - 1);
tile.setLayoutParams(params);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.RIGHT_OF, tile.getId());
Tile t = (Tile) parent.findViewById(tile.getId() - 1);
t.setLayoutParams(p);
}
parent.invalidate();
}
但是,這會導致應用程序有關,我理解「循環依賴關係不能在RelativeLayout的存在」,但我只是不知道這樣做有什麼其他方法錯誤崩潰。
任何幫助將不勝感激。
是的,我明白這一點。在我左右移動時如何完成字母定位的任何建議? – 2011-02-16 13:08:37
在添加新工作之前刪除兩條規則,這樣就永遠不會有什麼時候什麼是循環的? – Dre 2011-02-16 13:33:25