当前位置: 首页 > 知识库问答 >
问题:

公共视图膨胀的第三个参数(int资源、ViewGroup根、boolean attachToRoot)是做什么的?

吉俊德
2023-03-14

共有1个答案

柳胜
2023-03-14

公共视图膨胀(int resource、ViewGroup root、boolean attachToRoot)的真正含义是什么?

它指向您要膨胀的布局资源。第二个参数是您正在膨胀要附加到的资源的层次结构的根视图。当第三个参数存在时,它控制膨胀后的视图是否附加到提供的根。

最后两个参数可能会引起一些混乱。使用此方法的两个参数版本,LayoutInflater将自动尝试将膨胀视图附加到提供的根。但是,框架有一个检查,如果您为根传递null,它将绕过这个尝试,以避免应用程序崩溃。

那么,如果我们不应该附加到这个视图组,为什么要给它呢?

结果表明,父视图是膨胀过程中非常重要的一部分,因为要计算在膨胀的XML的根元素中声明的LayoutParams是必要的。这里什么都不传递类似于告诉框架“对不起,因为我不知道这个视图实际上会附加到哪个父级”。

参考资料

 类似资料:
  • 我不明白将布局附加到根视图组的目的,它是布局的一部分。为什么不使用attachToRoot标志为false: 顺便说一句,我的自定义toast消息可以正常工作,即使我省略了根视图并使用'null'作为第二个参数调用culflate。我明白这可能会在评估LayoutParams时引起一些问题,但我看不到任何问题。

  • 问题内容: 我知道前两列是什么,但是什么? 问题答案: 它称为struct标记,可以在运行时使用包对其进行解析。 来自https://golang.org/ref/spec#Struct_types: 字段声明后可以跟一个可选的字符串文字标签,该标签成为相应字段声明中所有字段的属性。 这些标记通过反射接口可见,并参与结构的类型标识,但否则将被忽略。 一些使用反射的包(例如)并使用标签来更好地处理特

  • 问题内容: 什么是参数: 如果我这样做: 并具有两个Localizable.strings版本(英语和西班牙语),每个版本是否都需要输入: 英语难道不是多余的吗? 问题答案: 注释字符串被应用程序忽略。它用于翻译者的利益,可在您的应用程序中找到的键的上下文用法中添加含义。 例如,键在给定语言中的取值可能不同,具体取决于该短语在该语言中需要使用的正式或非正式程度(“ Whats up World”,

  • 那么如何对此?要扩展什么才能只调用setContentView()或setLayoutResource()? 我看了很多这样的答案,但没有一个符合我的问题。

  • 我有一个片段,我在其中膨胀“Fragment\u board.xml”: 如您所见,fragment\u board包含一个自定义视图“BoardView”,我想从中加载以下“view\u board.xml”: 我的自定义视图包含两个滚动视图(我使用它进行平移),我希望能够在其他布局中重复使用它。BoardView扩展了外部(垂直)滚动视图,如下所示: 当我独立使用它时,它会膨胀得很好,我可以在

  • 问题内容: 在编组期间,JAXB需要一个公共的无参数构造函数吗? 我正在传递一个对象,而不是一个类。为什么JAXB需要构造函数?要构造什么? 问题答案: 在执行封送操作期间,JAXB实现不应需要无参数构造函数。JAXB确实需要一个解组。通常,在创建JAXBContext时,缺少no- arg构造函数会导致错误。您正在使用的JAXB实现可能会延迟初始化,直到执行实际操作为止。 通常,在将来的JAXB