2011-11-03 32 views
1

佈局操縱假設我們在景觀和我有一個根容器 在該容器中的另外兩個(較小)。我想在運行時交換cotainers的地方。容器A去B和B的地方去佈局A的地方。從代碼

我的佈局是用xml定義的。那麼使兩個元素交換位置的最好方法是什麼? 是不是很好改變例如RelativeLayout.LayoutParams的屬性?

首先對於這樣的場景,什麼是根容器使用的最佳佈局?

setContentView(R.layout.mylayout);root=findViewById(R.id.root); , a=findViewById(R.id.a);, b=findViewById(R.id.b);

電話後,我應該從根佈局孩子的意見? like root.removeallview(); ?或者我應該做些別的事情?

我需要一個有經驗的人來解釋我應該怎麼做這種事情,當然埃夫裏的建議是受歡迎的,如果你有一些有用的鏈接,請與我分享。

我希望能夠在這兩種呈現佈局的不同方式之間進行切換。

enter image description here

enter image description here

回答

0

你可以通過設置alignParentLeft和alignParentRight與LayoutParams來實現。

如果我是你,我可能會採取不同的方法。我會創建只是頂級容器的「主」佈局。然後創建單獨的XML文件,它們代表您想要包含在應用程序中的所有不同佈局配置。在運行時使用LayoutInflator將要使用的xml文件充氣到一個對象中,並將其添加到您的父佈局中,其中mainLayout.addView(child);