【问题标题】:How to build parameterized custom layout?如何构建参数化自定义布局?
【发布时间】:2011-04-13 00:06:29
【问题描述】:

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

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

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

<MyItemLayout .../>

我还不明白的是:

  1. 如何在 XML 中引用它?
  2. 如何为元素设置Item 实例?我不能在 XML 中做到这一点(或者我可以吗?),那么我将如何在代码中做到这一点?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    引用自定义组件(View 或 ViewGroup)的一种方法是使用完整的包名称,例如 &lt;com.foo.bar.MyItemLayout&gt;

    从 XML 声明中传递数据的一个选项是在构造函数中使用 AttributeSet。如果您在 XML 中设置属性,则可以使用此类中的方法获取它(例如getFloatValue())。

    所以: 第 1 步:执行&lt;com.foo.bar.MyItemLayout item="xxxx"&gt;&lt;/com.foo.bar.MyItemLayout&gt; 之类的操作 第 2 步:在MyItemLayout 构造函数中调用attrs.getFloatValue()(或您希望的任何类型)以获取数据

    希望对您有所帮助 JQCorreia

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      相关资源
      最近更新 更多