在我的活動中有兩個視圖。兩人都有不同的父母。我有他們的座標相對於屏幕。如何交換兩個視圖的位置?兩個視圖的交換位置
回答
您將需要調用父視圖組方法removeView()
兩個視圖然後addView()
將它們添加回但交換。
所以,如果你的父母的意見被稱爲媽媽和爸爸,一個有一個孩子叫foo,那麼其他的孩子叫吧:
ViewGroup daddy = (ViewGroup)findViewById(R.id.daddy);
ViewGroup mommy = (ViewGroup)findViewById(R.id.mommy);
View foo = findViewById(R.id.foo);
View bar = findViewById(R.id.bar);
//detach children
daddy.removeView(foo);
mommy.removeView(bar);
//re-attach children
daddy.addView(bar);
mommy.addView(foo);
閱讀有關removeView和addView方法的詳細信息ViewGroup參考並查看其他可用的方法。
試試這個:
int x1 = view1.getX();
int y1 = view1.getY();
view1.setX(view2.getX());
view1.setY(view2.getY());
view2.setX(x1);
view2.setY(y1);
你也可以考慮的動畫效果,使這個好看。
梅林是正確的,我錯過了關於他們的部分屬於不同的父母 – CSmith 2012-07-12 19:18:01
也''setX'只有API 11可用 – 2012-07-12 19:30:58
動畫是否在一個單獨的線程完成? – 2012-07-13 10:20:10
- 1. Android:交換2個視圖的位置
- 2. GridLayout(Android)中兩個視圖的交換位置
- 3. 兩個按鈕的交換位置
- 4. 在GraphViz圖(DOT)中交換兩個節點的位置
- 5. Android:交換兩個重疊視圖
- 6. 同步兩個ScrollView視圖的位置
- 7. 如何設置容器視圖以便交換兩個孩子
- 8. 兩個視圖之間的Relativelayout位置視圖
- 9. 交換位置
- 10. 當兩個元素交換位置時切換類?
- 11. 兩個視圖的轉換
- 12. 爲2個圖像視圖的位置切換設置動畫
- 13. 在BB 10中交換列表視圖的位置級聯
- 14. C#:如何交換兩個winform控件的位置
- 15. 在StackPanel中交換兩個Canvas的位置
- 16. 兩個關鍵字參數的位置交換拋出錯誤
- 17. 兩個按鈕的動畫交換位置
- 18. 交換兩個元素的x和y位置
- 19. 如何交換ArrayList中兩個對象的位置?
- 20. 如何交換android中兩個按鈕的位置?
- 21. 兩個HTML標題 - 圈子中的交換位置?
- 22. 交換DIV位置
- 23. 根據其位置交換數字的任意兩位數字
- 24. Xcode 5.1,交換位置的幾個UILabels
- 25. 在一個控制器中交換兩個視圖
- 26. UITableView afnetworking圖像交換位置
- 27. Emacs的交換行位置
- 28. 提交表單兩個位置
- 29. 交換兩個兩個表
- 30. 交換地圖的兩個元素
我不知道視圖組的ID。如何獲得視圖的視圖組? – 2012-07-12 19:54:23
您可以在子視圖上使用視圖getParent方法 – Merlin 2012-07-12 20:52:33
每個父級擁有兩個以上的視圖,因此不會發生確切的交換。 – 2012-07-12 22:58:55