gpt4 book ai didi

java - "layout"与 Android Studio 中的 "layout resource"相同吗?如何以编程方式创建 XML 布局资源?

转载 作者:行者123 更新时间:2023-12-01 18:55:38 27 4
gpt4 key购买 nike

我对这两个概念真的很困惑。我知道“布局资源”指的是一些XML格式的文件,例如“activity_main.xml”,并且XML文件内部有一个布局。所以我认为“布局”和“布局资源”可能不同。

今天,当我使用 inflate (int resource, ViewGroup root, boolean AttachToRoot) 时,我不知道如何获取“资源”(又名 XML 文件)的 ID,因为我只是通过编程为 ListView 创建一个新的布局来显示项目,并且我只能通过使用 mylayout.setId(View.generateViewId()) 来获取新布局的 ID。但我不知道“资源”的 ID,因为我从未创建过 XML 文件。布局的 ID 是否等于其 XML 文件的 ID?

所以问题来了:当我只通过编程创建布局时,如何获取它的XML文件?我应该创建 XML 文件而不是布局吗?如果是这样,我怎样才能通过编程创建一个新的 XML 文件?

最佳答案

您可以直接访问id您的 xml 文件通过:int id = R.layout.activity_main

请注意这个 id与 xml 文件本身相关联。要访问布局文件中特定 View 的 ID,请替换 layoutid :R.id.my_view_id .

例如,如果你想膨胀 my_layout.xml ,您可以通过R.layout.my_layoutresource inflate (int resource, ViewGroup root, boolean attachToRoot)的参数.

当您在运行时膨胀布局时,您正在使用现有 xml 文件来创建布局。一个layout resourcelayout 。布局只是表示 UI 的抽象。它不指任何具体的东西。

此外,您无法以编程方式“创建”xml 布局(而不应该)以在运行时生成 UI。但是,您可以创建一个 View ViewGroup 中包含的一组 View 。以编程方式。

关于java - "layout"与 Android Studio 中的 "layout resource"相同吗?如何以编程方式创建 XML 布局资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59674785/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com