例如,在:
<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" > ...
我需要把它吗?
a5g8bdjr1#
它定义文档的XML命名空间。你应该把它放进去,否则像<RelativeLayout>这样的标签可能不会被解析器识别。名称空间是XML文档包含来自不同供应商的标记的一种方式。通过使用xmlns属性声明,默认情况下,您使用的是在这里定义的XML元素:http://schemas.android.com/apk/res/android(注意此链接已断开-此讨论解释了原因)。您还声明了额外的命名空间tools,这不是您的默认命名空间,因此当引用在那里定义的元素或属性时,您必须添加tools前缀,例如:
<RelativeLayout>
xmlns
tools
tools:context=".SomeActivity"
ldioqlga2#
以下是来自Android开发门户的有用链接:https://developer.android.com/studio/write/tool-attributes.html上面写着Android Studio在tools命名空间中支持各种XML属性,这些属性可启用设计时功能(例如在片段中显示哪个布局)或编译时行为(例如将哪个收缩模式应用于XML资源)。当您构建应用时,构建工具会移除这些属性,因此不会影响您的APK大小或运行时行为。例如,tools命名空间有助于设计UI,所有前缀为“tools”的属性将在构建时删除。
0mkxixxg3#
事实上,当你这样做时:
<RelativeLayout android:id> </RelativeLayout>
xml将调用http://schemas.android.com/apk/res/android:id而不是android:id。它只是声明所有属性和视图的页面,你可以在你的xml中使用。这里有一个解释。http://www.w3schools.com/xml/xml_namespaces.asp
oiopk7p54#
在Android中,xmlns:tools属性用于为"tools"名称空间前缀定义XML名称空间。它通常用在布局XML文件中,以提供辅助开发过程的附加工具和信息。tools命名空间提供了在应用程序的设计和开发过程中使用的属性,但在编译和执行过程中被忽略或剥离。下面是xmlns:tools属性通常如何在Android布局XML文件中使用的示例:
xmlns:tools
<LinearLayout 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" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" tools:text="Hello World!" android:textColor="@color/black" /> </LinearLayout>
在上面的示例中,tools:context属性用于指定与布局关联的Activity类,以便在设计时呈现和预览。tools:text属性用于提供仅在Android Studio布局编辑器中显示的占位符文本,而不会在运行时显示。通过使用tools命名空间,开发人员可以专门为设计和测试目的定制其布局的外观和行为,而不会影响最终的生产代码。
tools:context
tools:text
4条答案
按热度按时间a5g8bdjr1#
它定义文档的XML命名空间。你应该把它放进去,否则像
<RelativeLayout>
这样的标签可能不会被解析器识别。名称空间是XML文档包含来自不同供应商的标记的一种方式。通过使用
xmlns
属性声明,默认情况下,您使用的是在这里定义的XML元素:http://schemas.android.com/apk/res/android(注意此链接已断开-此讨论解释了原因)。您还声明了额外的命名空间
tools
,这不是您的默认命名空间,因此当引用在那里定义的元素或属性时,您必须添加tools
前缀,例如:ldioqlga2#
以下是来自Android开发门户的有用链接:https://developer.android.com/studio/write/tool-attributes.html
上面写着
Android Studio在tools命名空间中支持各种XML属性,这些属性可启用设计时功能(例如在片段中显示哪个布局)或编译时行为(例如将哪个收缩模式应用于XML资源)。当您构建应用时,构建工具会移除这些属性,因此不会影响您的APK大小或运行时行为。
例如,tools命名空间有助于设计UI,所有前缀为“tools”的属性将在构建时删除。
0mkxixxg3#
事实上,当你这样做时:
xml将调用http://schemas.android.com/apk/res/android:id而不是android:id。它只是声明所有属性和视图的页面,你可以在你的xml中使用。
这里有一个解释。http://www.w3schools.com/xml/xml_namespaces.asp
oiopk7p54#
在Android中,
xmlns:tools
属性用于为"tools"名称空间前缀定义XML名称空间。它通常用在布局XML文件中,以提供辅助开发过程的附加工具和信息。tools
命名空间提供了在应用程序的设计和开发过程中使用的属性,但在编译和执行过程中被忽略或剥离。下面是
xmlns:tools
属性通常如何在Android布局XML文件中使用的示例:在上面的示例中,
tools:context
属性用于指定与布局关联的Activity类,以便在设计时呈现和预览。tools:text
属性用于提供仅在Android Studio布局编辑器中显示的占位符文本,而不会在运行时显示。通过使用
tools
命名空间,开发人员可以专门为设计和测试目的定制其布局的外观和行为,而不会影响最终的生产代码。