Android开发中三个常用XML命名空间的区别是什么?
Android XML布局三个常用命名空间作用与区别
1. xmlns:android="http://schemas.android.com/apk/res/android"
- 作用:Android系统官方提供的核心命名空间,映射Android框架SDK内置的所有属性定义
- 适用场景:所有调用系统原生控件、原生布局参数的属性,比如
android:layout_width、android:text、android:background等系统自带属性都需要用该前缀
2. xmlns:app="http://schemas.android.com/apk/res-auto"
- 作用:自定义属性专属命名空间,会自动适配当前项目的包名,无需手动指定包名路径
- 适用场景:
- 自己实现的自定义控件新增的自定义属性
- Jetpack组件、第三方开源库(如Material Design组件、约束布局)提供的非系统内置属性,比如
app:layout_constraintStart_toStartOf、app:srcCompat、app:strokeColor等非SDK原生属性都需要用该前缀
3. xmlns:tools="http://schemas.android.com/tools"
- 作用:Android Studio开发工具专属的辅助命名空间,所有带该前缀的属性仅在布局预览阶段生效,APP打包时会被完全剔除,不会进入最终APK
- 适用场景:仅用于开发阶段的预览、调试需求,比如
tools:text给TextView设置预览占位文字、tools:visibility预览控件显示状态、tools:itemCount给RecyclerView设置预览条目数等
内容的提问来源于stack exchange,提问作者KARTHIGAI LAKSHMI G
相关产品推荐
相关产品推荐

