[英]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中使用的所有屬性和視圖的頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.