在Android上使用XML以编程方式创建视图

时间:2012-12-15 04:12:23

标签: android xml

我想用XML创建一个UI布局,并将其作为子项插入到现有视图中(它将被多次插入)。

例如,以下是XML文件将包含的内容:

<RelativeLayout
    android:id="@+id/relativeLayout1" >
    <Button android:id="@+id/myButton"
        android:text="@string/mystring" />
</RelativeLayout>

现在我得到父LinearLayout,现在想要将该XML文件添加为子视图,例如:

LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout);
//need to create a view object from the xml file
linear.addView(myXmlObject);

是否可以将XML资源转换为视图类型?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:74)

我相信你想要LayoutInflater。假设您的示例XML位于文件custom_layout.xml

LayoutInflater inflater = LayoutInflater.from(context);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.custom_layout, null, false);

LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout);
linear.addView(layout);