我的应用程序是关于操纵和显示特定实体的不同 View 。我有一个名为 Item
的类,它在我的应用程序中定义了一个实体。我创建了一个自定义布局,它知道如何呈现特定版本的 Item
:
public class MyItemLayout extends FrameLayout {
public MyItemLayout(Context context, AttributeSet attrs) { ... }
}
我希望能够在 XML 中引用它:
<MyItemLayout .../>
我还不明白的是:
- 如何在 XML 中引用它?
- 如何为元素设置
Item
实例?我无法在 XML 中执行此操作(或者我可以吗?),那么我如何在代码中执行此操作?
谢谢。
最佳答案
引用自定义组件(View 或 ViewGroup)的一种方法是使用完整的包名称,例如 <com.foo.bar.MyItemLayout>
从 XML 声明传递数据的一个选项是使用 AttributeSet
在构造函数中。如果您在 XML 中设置一个属性,您可以使用此类中的方法获取它(例如 getFloatValue()
)。
所以:
第 1 步:执行类似 <com.foo.bar.MyItemLayout item="xxxx"></com.foo.bar.MyItemLayout>
的操作
第 2 步:在 MyItemLayout
构造函数调用 attrs.getFloatValue()
(或您希望的任何类型)获取数据
希望对你有帮助 JQ科雷亚
关于android - 如何构建参数化自定义布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643019/