Android - 我们何时以及出于何种目的在 android xml 文件中使用以下前缀?

Android - When and for which purpose we use the following prefixes in android xml file?

我是 android 开发新手,对以下前缀感到困惑:

  1. xmlns:android
  2. xmlns:app
  3. xmlns:tools
  4. android:something
  5. app:something
  6. tool:something

我对它们感到困惑,因为有时我使用一个,并且 android 工作室将其标记为红色下划线,这意味着我应该使用另一个,而有时我使用另一个 android 工作室标记它带有红线,这意味着我应该使用另一个等等,这让我很困惑。甚至在某些情况下,我注意到我们不允许使用其中任何一个,例如 style 属性、layout 属性等

每个代表什么?

哪个用途?

哪个是父子子子,或者我这个逻辑有误?

还有比他们多的吗?如果是,请分享资源或 link

为什么有时我们不使用这些前缀,例如 stylelayout 等?

我想了解它们以便以易于理解和正确的方式使用它们。 非常感谢!!!

正如 Henry 所说,这些称为名称空间。

tools 命名空间用于对组件进行更改,而无需在 运行 时应用。它对于设计和测试不同的布局或组件很有用,而不会在您 运行 应用程序时影响您的代码。

android 命名空间通常用于 android 属性,这意味着它来自 Android SDK 本身。

app命名空间用于支持库组件,因此它适用于各种不同版本的android。

xmlns 只是一个命名空间,指定它是一个 xml 文档,这些用于对 xml 文档本身进行更改。