繁体   English   中英

“布局”是否与 Android Studio 中的“布局资源”相同? 如何以编程方式创建 XML 布局资源?

[英]Is "layout" the same as "layout resource" in Android Studio? How can I programmingly create an XML layout resource?

我真的被这两个概念搞糊涂了。 我知道“布局资源”指的是一些 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 文件?

您可以通过以下方式直接访问您的 xml 文件的idint id = R.layout.activity_main

请注意,此id与 xml 文件本身相关联。 要访问您的布局文件中的特定视图的ID,替换layoutidR.id.my_view_id

例如,如果你想膨胀my_layout.xml ,你可以在my_layout.xml inflate (int resource, ViewGroup root, boolean attachToRoot)resource参数中传递R.layout.my_layout

当您在运行时扩充布局时,您是在使用现有的xml 文件来创建您的布局。 layout resource是一个layout 布局只是代表您的 UI 的抽象。 它不涉及任何特定内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM