[英]How to swap two LinearLayout
我有一個父線性布局,其中有兩個線性布局和一個按鈕。父線性布局內的每個線性布局都有兩個項目。 項目包括編輯文本和微調器。我想要的是在單擊按鈕時交換這兩個 LinearLayout。所以我的問題是如何以編程方式執行此操作? 我是 Android 開發的新手,所以請幫我解決這個問題。
在最外面的 LinearLayout 上,嘗試調用 removeViewAt(0)。 這應該刪除第一個 LinearLayout。 然后調用 addView() 將第一個 LinearLayout 傳遞給它。
一種簡單的方法是只制作兩個布局。 設計為當您准備使用另一個布局時,切換布局,然后將其設置為當前視圖。
或者,如果您想喜歡它,您可以使用各種動畫類來實現。 如果您想要獲得確切的視覺效果,也許可以提供更多關於您想要的內容。
正如卡里姆提到的,你可以使用 setVisibilty() 到 View.GONE 和到 View.VISIBLE。 但是為了順利交換,您將需要了解Translate Animation 。
這是如何交換兩個視圖(例如兩個 LinearLayouts)的工作示例:
ViewGroup root = findViewById(R.id.my_root);
// assumption: root has 2 child views only
// swap left and right (or top and bottom)
View leftView = root.getChildAt(0);
root.removeViewAt(0);
root.addView(leftView);
// now the two child views of root are swapped
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.