2011-12-01 52 views
1

我想創建一個類MyView,它擴展了LinearLayout。 MyView有一個相當複雜的View層次結構,有許多有孩子的孩子等。我想在Xml中定義這個層次結構。不過,我也希望MyView能夠在代碼中重用。我希望MyView能夠通過其複雜的層次結構實例化,而無需創建或修改任何其他Xml文件;我想一些其他的LinearLayout能夠做這樣的事情:Android:如何定義自定義佈局View in xml?

MyView view = new MyView(linearLayout.getContext()); 
linearLayout.addView(view); 

這可以通過建立在Java代碼中觀層次的MyView的的構造函數來完成。但似乎我應該能夠在構造函數中使用xml佈局來完成此操作。我想基本上我正在尋找一個View的Activity.setContentView(...)的等價物;但找不到它。

回答

3

由於您的MyView的類擴展LinearLayout中,你可以做這樣的構造:

LayoutInflater inflater = LayoutInflater.from(context); 
inflater.inflate(R.layout.myviewlayout, this); 
+0

完美,謝謝。 – ab11