Android 我可以从XML实例化/膨胀视图吗?

Android 我可以从XML实例化/膨胀视图吗?,android,Android,我有一个按钮视图。我是否必须将其包装在一个布局中,以便能够在活动中膨胀它的实例?视图是否有类似的模式,以便我可以以声明方式设置它一次,并创建它的多个实例 谢谢 编辑 我想我遗漏了一些关于布局的东西。它们是否被声明为可以在任何地方实例化的模板?或者只能在其他特定布局中使用 例如: 我在contents.xml中定义了一个ScrollView布局。它完全独立,不包含在任何其他布局中。在我的活动中,在我的主布局上调用setContentView。我是否可以实例化contents.xml的副本?我是否需

我有一个按钮视图。我是否必须将其包装在一个布局中,以便能够在活动中膨胀它的实例?视图是否有类似的模式,以便我可以以声明方式设置它一次,并创建它的多个实例

谢谢

编辑

我想我遗漏了一些关于布局的东西。它们是否被声明为可以在任何地方实例化的模板?或者只能在其他特定布局中使用

例如:


我在contents.xml中定义了一个ScrollView布局。它完全独立,不包含在任何其他布局中。在我的活动中,在我的主布局上调用setContentView。我是否可以实例化contents.xml的副本?我是否需要以某种方式更改“contentView”?

将该视图封装在
线性布局中,然后您就可以在整个应用程序中扩展该布局了。

您不需要包装它。可以直接扩展以下XML:

<?xml version="1.0"?>
<Button ... />


我就是这么想的。。。但这是一种好的做法吗?看起来有点像是一种变通方法,因为它不能让您获得与编程方式相同的结构,因为您有额外的包装器布局。我猜这不会真正影响性能。你不需要额外的线性布局。我用什么API来膨胀它?有迹象表明getViewInflate()方法似乎已被弃用,但我找不到任何其他方法。我没有机会尝试它,但LayoutInflater的文档说它可以膨胀:“XML布局资源”。我想视图可以被视为布局“资源”,即使它不是布局,但我的印象是,你只能在布局中使用LayoutFlater。今晚我将尝试一下,并将结果发回。但视图不是一个布局(必然)。这就是为什么我不确定LayoutFlater是否适用于所有视图的原因。我本想对此进行测试,但我认为我遇到了更基本的问题(请参见OP中的编辑)。LayoutFlater适用于所有视图。“布局”是描述UI或UI片段的XML文件的通用术语。布局可以由单个视图构成,也可以由包含其他视图/视图组的视图组构成。如果您查看LayoutInflater API,您将看到它返回一个视图。