如何在特定条件下将视图添加到另一个视图?

Posted

技术标签:

【中文标题】如何在特定条件下将视图添加到另一个视图?【英文标题】:How to add a view to another view in a certain condition? 【发布时间】:2020-08-15 05:26:28 【问题描述】:

我正在开发一个应用程序,如果他检查 CheckBox,我想在特定位置向当前视图添加一个视图,但每次我尝试添加 parent.addView(child) 它都会崩溃..所以我想知道如何我可以这样做以及当用户再次单击 CheckBox 时如何释放视图。

这是我想做的演示

https://xd.adobe.com/view/46d4808d-9888-455b-42ca-9fab587eb55d-30e5/

【问题讨论】:

【参考方案1】:

您可以将 xml 文件中的可见性设置为消失,然后在单击复选框时将其设置回可见

xml:

android:visibility="gone"

jav:

view.setVisibility(View.VISIBLE)

【讨论】:

感谢您的帮助,但我真的忘记提到将有 5 个复选框,并且在每个复选框下添加整个布局会使代码变得更大并且可能会影响性能,所以我希望有另一种方法。【参考方案2】:

您可以创建一个带有隐藏内容的Custom Component,并在每个复选框中重复使用它。此外,您可以使用RecyclerView 添加复选框。或者您甚至可以创建带有复选框和隐藏内容的自定义组件,并将所有逻辑放在那里。

【讨论】:

以上是关于如何在特定条件下将视图添加到另一个视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不知道它是哪个视图的情况下将 UIView 添加为最顶层视图的子视图?

如何在不丢失表格视图单元格的情况下将现有集合视图添加到表格视图

如何在不丢失导航栏的情况下将子视图添加到 UINavigation 控制器?

如何在编辑模式下将子视图添加到 UITableViewCell 并调整其大小?

如何将 UIImageView 放置在子视图的特定区域中

如何在不破坏滚动功能的情况下将 UIImage 添加到 UIScrollView?