gpt4 book ai didi

java - 在 Android 中创建复合 View

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:19 24 4
gpt4 key购买 nike

我想创建一个自定义 View (我将其称为 MyComplexView),例如带有 ImageviewRelativeLayout,一个 TextView 和一个 Button

我想用布局声明一个 xml,然后创建类:

MyComplexView extends RelativeLayout{...}

但我不知道应该重写什么来指示应该扩充哪个布局。

我该怎么做?谢谢

最佳答案

像这样:

  1. 从父类(super class)中添加构造函数。 (只有上下文的用于以编程方式创建 View ,其他用于在 XML 中添加 View 。

  2. 创建一个名为 init() 的方法,并从每个构造函数中调用它。

  3. 在 init 方法中做:

    LayoutInflater.from(context).inflate(R.layout.my_view_layout, this, true);

现在 inflate 附加参数实际上意味着:

true -> 在你的案例相对布局中将布局附加到根(专业提示:所以在 xml 中,如果你的布局根也是相对布局,你可以只合并标签,并在代码中对齐它们,这样层次结构更简单) 或您喜欢的任何布局。

this -> 将膨胀 View 附加到你的情况下你正在扩展的相对布局的布局。

它会自动附加到根 -> extends RelativeLayout。

然后您可以像这样使用 findViewById:

this.findViewById(R.id.myView);

关于java - 在 Android 中创建复合 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11085188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com