【问题标题】:Programmatically create multiple views from custom view以编程方式从自定义视图创建多个视图
【发布时间】:2019-12-06 11:58:23
【问题描述】:

我能够从扩展 LinearLayout 的自定义视图类创建和组合多个视图,并且效果很好。我关注了这个Stack Overflow answer。但是您必须创建一个 XML 文件并对其进行扩充以填充自定义视图。

我想以编程方式而不是通过使用 XML 布局并对其进行扩展。这可能吗?

【问题讨论】:

  • 是的,当然可以。您可以像任何其他常规 Java 类一样使用 new 实例化 Views,然后使用 addView() 将它们添加到您的自定义 ViewGroup 子类中。

标签: android android-layout android-custom-view


【解决方案1】:

这是我个人经验的答案。

  • 您可以使用 LayoutInflater 在父视图中添加多个子视图

例子:

  • 父视图:FrameLayout
  • 子视图:我的视图

LayoutInflater inflater = LayoutInflater.from(this);

视图视图 = inflater.inflate(R.layout.MyView, FrameLayout, false);

FrameLayout.addView(view);

【讨论】:

    【解决方案2】:

    这样做..

    1. 制作扩展 View 类的自定义视图

    2. 创建扩展 ViewGroup 类的自定义视图组

    您可以使用addView() 方法在视图组中添加您的视图

    查看 = https://developer.android.com/reference/android/view/View

    视图组 = https://developer.android.com/reference/android/view/ViewGroup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-18
      • 2016-07-02
      • 2013-08-02
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 2015-02-04
      相关资源
      最近更新 更多