2011-12-01 91 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