簡體   English   中英

Android XML布局中xmlns:tools的含義是什么?

[英]What is the meaning of xmlns:tools in Android XML layout?

例如,在:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
...

我需要把它嗎?

它定義了文檔的XML命名空間。 你應該把它,否則解析器無法識別像<RelativeLayout>這樣的標簽。

命名空間是XML文檔包含來自不同供應商的標記的一種方式。 通過使用xmlns屬性,您聲明,默認情況下,您正在使用此處定義的XML元素: http//schemas.android.com/apk/res/android (請注意,此鏈接已損壞 - 此討論解釋了原因)。

您還聲明了其他名稱空間, tools ,這不是您的默認名稱空間,因此在引用那里定義的元素或屬性時,您必須添加tools前綴,例如:

tools:context=".SomeActivity"

以下是來自Android開發門戶的有用鏈接: https//developer.android.com/studio/write/tool-attributes.html

它說

Android Studio支持工具命名空間中的各種XML屬性,這些屬性支持設計時功能(例如,在片段中顯示哪種布局)或編譯時行為(例如應用於XML資源的縮小模式)。 構建應用程序時,構建工具會刪除這些屬性,因此不會影響APK大小或運行時行為。

ie tools命名空間有助於設計UI,所有帶有前綴'tools'的屬性將在構建時刪除。

事實上,當你這樣做時:

<RelativeLayout android:id> </RelativeLayout>

而不是調用android:id,xml將調用http://schemas.android.com/apk/res/android:id 它只是聲明可以在xml中使用的所有屬性和視圖的頁面。

這是一個解釋。 http://www.w3schools.com/xml/xml_namespaces.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM