布局inflater中"附加到根"有什么用?

sru*_*ula 14 android android-view

我是android的新手,我知道这个问题已被提出但我无法得到满意的解释.我的怀疑是:

  1. 什么是"附加到根",如果可能的话,用一个小而明确的例子.
  2. 当我搜索答案时,人们说其可选用于附加到父视图组,视图组层次结构是什么?(这是考虑我们以编程方式创建的视图还是考虑已经在xml文件中声明的视图)

我希望问题很清楚,如果不是,请在评论中说明.

Ume*_*ooq 31

我自己也搞不清楚什么是真正的目的attachToRootinflate方法.经过一些UI研究后,我终于得到了答案:

父:

在这种情况下,是使用findViewById()围绕要扩充的视图对象的窗口小部件/布局.

attachToRoot:

将视图附加到其父级(包括它们在父级层次结构中),因此视图接收的任何触摸事件也将转移到父视图.现在,它是由父母决定是否要接受这些事件或忽略它们.如果设置为false,则不会将它们添加为父项的直接子项,并且父项不会从视图中接收任何触摸事件.

希望这清除了混乱


Roh*_*ngh 6

inflate 方法中的第三个参数具有布尔返回类型。在选择参数值时,
有很多困惑(很快就会讨论这部分)。

** 这很简单**

  1. attachToRoot = false时,这意味着

不要将子视图“立即”附加到父视图,稍后添加。

  1. attachToRoot = true时,这意味着

将 childView 附加到父级“立即”。

在这两种情况下,子视图最终都会添加到父视图中。** 这只是时间问题。**
如果您想了解更多详细信息,您可以参考 ---> 这个答案
(因为我无法在这里发布重复的答案,很乐意提供帮助)。