代码之家  ›  专栏  ›  技术社区  ›  Teekin

Android/C:克隆小部件?

  •  0
  • Teekin  · 技术社区  · 6 年前

    使用C#(visualstudioformac)是否可以克隆可通过ID访问的小部件?

    例子:

    RelativeLayout stage = FindViewById<RelativeLayout>(Resource.Id.proto_rel_layout);
    new_stage = stage.Clone(); // <- Functionality I'd like.
    

    我的应用程序创建了一个长的元素列表,每个元素包含多个文本字段和一个图像。它们的布局目前很糟糕,因为我一直在用C编程创建它们。

    我不在乎是要克隆所有的小部件还是只克隆其中一个。如果克隆机制必须事先知道每个小部件的ID,这是非常好的。关键是我希望一个设计师能够对设计进行修改,而无需程序员手动将其转换为C。

    但是,我找不到一个函数,我期望用这种方式克隆一个小部件。似乎不存在.Copy()或.Clone()等函数。

    长话短说,在Android(C#)中克隆widget是可能的吗?如果是,那是如何实现的?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Cheesebaron    6 年前

    克隆这些小部件是不可能的,除非你自己去做那些单调的工作。然而,正如sushingover在你的评论中所说的那样,与其考虑克隆,不如将任何UI代码封装在一个布局文件中,然后根据需要对其进行膨胀。这样,当你需要的时候,你就能把你的“克隆”一笔勾销。

    这与RecyclerView和ListView需要创建新行时的工作方式类似。它们会膨胀您在适配器中指定的布局。