【发布时间】:2014-08-18 08:44:48
【问题描述】:
从父视图中移除视图和将其可见性设置为 GONE 有什么区别?
【问题讨论】:
标签: android android-view visibility
从父视图中移除视图和将其可见性设置为 GONE 有什么区别?
【问题讨论】:
标签: android android-view visibility
如果您从父视图中删除视图,则它不再在其子视图列表中。然后,您可以将其添加到任何其他 ViewGroup。如果你循环遍历旧的父级,它不会出现,并且当 ViewGroup 执行调整自身大小等操作时也不会调用它。
如果你让它 GONE,它仍然是 ViewGroup 的子级。它不能添加到另一个,因为它只能有 1 个父级。仍然会调用它来调整视图组的大小。
【讨论】:
如果您将视图的可见性设置为 GONE,它将看起来不再存在,但它实际上存在于其父级中,它就在那里,您仍然可以随意操作它,但是,如果您删除该视图从它的父母那里,它实际上会因为所有的后果而脱离它。 例如:如果您从 LinearLayout 中删除一个视图,它不会在该 linearLayout 内部,因此它不会受到其父级重力的影响,但如果您只是将视图可见性设置为 GONE,它仍然是受其父重力影响,即使您看不到它,因为您的视图是不可见的。
如果听起来有点不清楚,我很抱歉,但这对我来说有点难以解释。
【讨论】: