我想创建一个MyView类,它扩展了LinearLayout。 MyView有一个相当复杂的View层次结构,有许多子节点有子节点等。我想在Xml中定义这个层次结构。但是,我也希望MyView可以在代码中重用。我希望MyView能够通过其复杂的层次结构进行实例化,而无需创建或修改任何其他Xml文件;我希望其他一些LinearLayout能够做到这样的事情:
MyView view = new MyView(linearLayout.getContext());
linearLayout.addView(view);
这可以通过在MyView的构造函数中设置java代码中的View层次结构来实现。但似乎我应该能够使用xml布局在构造函数中执行此操作。我想基本上我正在为View查找等效的Activity.setContentView(...);但找不到它。
答案 0 :(得分:3)
由于MyView类扩展了LinearLayout,您可以在构造函数中执行此操作:
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.myviewlayout, this);