Android:如何使用XML进行自定义视图布局

时间:2011-01-31 15:49:00

标签: android android-layout

我来自GWT和UIBinder的世界,我习惯于通过扩展Composite来定义自定义组件,然后将所有UI布局代码放在MyComponent.ui.xml文件中。这是从较小的部分构建组件的一种非常好的方法。

我正在尝试使用自定义视图在Android上实现相同的效果。我已经能够以编程方式扩展View,然后通过调用addView(textView)添加对象。我希望能够在XML中实现这一点,但我没有看到如何将xml布局文件与视图相关联(除了主res/layout/main.xml文件,它提供了应用程序的主要布局。 / p>

如何在XML中布局自定义视图?

编辑:我的问题不清楚。我要做的是将my_widget.xml文件与我的自定义视图相关联。然后在my_widget.xml中我想定义各种TextViews等,并将它们插入到我的View类中。

3 个答案:

答案 0 :(得分:13)

使用自定义视图类的完全限定名称代替其中一个内置视图。例如,这是一个用你的班级填充窗口的布局:

<?xml version="1.0" encoding="utf-8"?>
<my.package.MyCustomView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

答案 1 :(得分:3)

要从XML构建视图,请使用LayoutInflater

答案 2 :(得分:0)

您可以将findViewById (int id)与XML中定义的ID一起使用。请参阅Android doc here中的示例(向下滚动到 ID )。