【发布时间】:2021-09-19 18:00:28
【问题描述】:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
`xmlns:tools="http://schemas.android.com/tools"`
这三个命名空间有什么区别?
【问题讨论】:
标签: android namespaces
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
`xmlns:tools="http://schemas.android.com/tools"`
这三个命名空间有什么区别?
【问题讨论】:
标签: android namespaces
这些只是定义属性。
xmlns:android - 定义android框架提供的属性/属性,如width、height等。这些是android框架提供的默认属性,你在xml中使用。
xmlns:app - 这些是您在创建自定义视图时定义的附加/额外属性。
例如,如果您正在创建一个 CustomView 来膨胀 Circle,除了提供 android:width 或 android:height 之类的属性外,您还可以提供 radius 或 color 之类的自定义属性并使用使用 app:radius 或 app:color 在 xml 中相同。
xmlns:tools - 这些是 android 框架提供的工具属性/属性,可启用设计时功能并且仅在设计时可用。
当您构建应用时,构建工具会移除这些属性,因此不会影响您的 APK 大小或运行时行为。
您使用其中的一些属性,例如tools:visibility="invisible" 等。这仅在设计时起作用,而不是在构建应用程序并将apk 推送到设备时。主要是为了便于设计。
工具属性参考 https://developer.android.com/studio/write/tool-attributes
【讨论】: