android - 如何构建参数化自定义布局?

标签 android android-widget android-sdk-1.6 xml-layout

我的应用程序是关于操纵和显示特定实体的不同 View 。我有一个名为 Item 的类,它在我的应用程序中定义了一个实体。我创建了一个自定义布局,它知道如何呈现特定版本的 Item:

public class MyItemLayout extends FrameLayout {
    public MyItemLayout(Context context, AttributeSet attrs) { ... }
}

我希望能够在 XML 中引用它:

<MyItemLayout .../>

我还不明白的是:

  1. 如何在 XML 中引用它?
  2. 如何为元素设置 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/

相关文章:

android - 计算两个位置之间的方位角(纬度、经度)

android - 在 Play 商店和设备上处理多个 DPI 的 Assets

android - 使用 html 和 TextView 在 android 小部件上显示图像

java - 使用 Contacts.Groups._COUNT 获取联系人组时列_count 无效?

android - 在 Android 1.6 上运行 jUnit 测试时出现 VerifyError

android - 触摸其 ScrollView 子级时未触发的 View 上的 onTouch

android - 在 Google Play 说明中从一个应用程序链接到另一个应用程序

Android WebView 可滚动

Android 小部件大小

android - 我该如何修复错误 "conversion to dalvik format failed with error 1"?