我来自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类中。
答案 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 )。