【问题标题】:Namespace in AndroidAndroid 中的命名空间
【发布时间】: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


    【解决方案1】:

    这些只是定义属性。

    xmlns:android - 定义android框架提供的属性/属性,如widthheight等。这些是android框架提供的默认属性,你在xml中使用。

    xmlns:app - 这些是您在创建自定义视图时定义的附加/额外属性。 例如,如果您正在创建一个 CustomView 来膨胀 Circle,除了提供 android:widthandroid:height 之类的属性外,您还可以提供 radiuscolor 之类的自定义属性并使用使用 app:radius 或 app:color 在 xml 中相同。

    xmlns:tools - 这些是 android 框架提供的工具属性/属性,可启用设计时功能并且仅在设计时可用。

    当您构建应用时,构建工具会移除这些属性,因此不会影响您的 APK 大小或运行时行为。

    您使用其中的一些属性,例如tools:visibility="invisible" 等。这仅在设计时起作用,而不是在构建应用程序并将apk 推送到设备时。主要是为了便于设计。

    工具属性参考 https://developer.android.com/studio/write/tool-attributes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      • 2014-07-21
      • 2016-05-28
      相关资源
      最近更新 更多