簡體   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