xmlns:android="http://schemas.android.com/apk/res/android
有了这句话,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件。或者语法判断器什么的

运行的时候那些控件的属性都是通过它来识别的,如果上面你写错了,不会有任何问题,但是在运行的时候就会有问题,提示你没有指定宽度等什么。
这个是不用联网的。

什么是xmlns

xmlns,它是 XML 文档中的一个概念:英文叫做 XML namespace,中文翻译为 XML 命名空间。

一讲到命名空间,我想很多人会联想到C++中的namespace和Java中的 packagename,而这两者的作用都是为了解决命名上的冲突(例如类名,接口名等)。

类似的,XML namespace也是为了解决 XML 中元素和属性命名冲突,因为 XML 中的标签并不是预定义的,这一点与 HTML 是有区别的,HTML 中的标签是预定义的,所以我们会遇到命名冲突的问题。

XML 命名空间定义语法为xmlns:namespace-prefix=”namespaceURI”,一共分为三个部分:

  • xmlns:声明命名空间的保留字,其实就是XML中元素的一个属性;
  • namespace-prefix:命名空间的前缀,这个前缀与某个命名空间相关联;
  • namespaceURI:命名空间的唯一标识符,一般就是一个URI引用。

Android中的xmlns

在Android中,目前我们碰到的xmlns一共有三种:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
  • android 命名空间android用于 Android 系统定义的一些属性。
  • app 命名空间app用于我们应用自定义的一些属性,这个与 Android 自定义属性和系统控件扩展应该有关系,大家可以再继续研究一下。
  • tools 根据官方定义,tools命名空间用于在 XML 文档记录一些,当应用打包的时候,会把这部分信息给过滤掉,不会增加应用的 size,说直白点,这些属性是为IDE提供相关信息

使用到自定义View的xml布局文件

Android 自定义的xmlns其实很简单,语法规则是: xmlns:前缀=http://schemas.android.com/apk/res/你的应用程序包路径.

一般情况下,我们引用“apk/res-auto”就让app能够访问res下所有资源的能力,当然如果想让其只能访问某个res资源,只需要引用“包名/apk/res/具体属性文件夹”即可。

xmlns:tools的用法

在布局中,任意xml标签下添加代码:

xmlns:tools="http://schemas.android.com/tools"

之后,我们便能使用android为我们提供的tools,先举个开发过程中的案例:

有时候在布局一个xml的过程中需要查看某个TextView的文字效果,于是指定了android:Text =
“客户们都是笨蛋”;这时,产品上线,结果忘了删除这行代码,数据加载也没有重新设置text内容。

这种场面是不是就很尴尬了?使用tools标签就能够避免这样的尴尬,我们在xml布局中加入tools:text=”客户们都是笨蛋”,预览中就会显示出 客户们都是笨蛋

但实际上,如果运行的话,是看不到这条text的。
除此之外,tools:标签几乎支持所有android:的同名标签,比如tools:src、tools:textSize等,可以自己进行探索。
总之,tools的作用就是能够方便开发者在开发过程中提前预览xml布局而对之后的运行结果不产生影响,挺方便的一个工具。

 参考:

http://www.jianshu.com/p/6fcaffaeffd2

https://blog.csdn.net/Evan123mg/article/details/50906160

https://blog.csdn.net/qq_34773981/article/details/82667425

xmlns:android="http://schemas.android.com/apk/res/android 这句话的作用的更多相关文章

  1. xmlns:android="http://schemas.android.com/apk/res/android的作用是

    xmlns:android="http://schemas.android.com/apk/res/android的作用是 这个是xml的命名空间,有了他,你就可以alt+/作为提示,提示你 ...

  2. android 布局文件中xmlns:android="http://schemas.android.com/apk/res/android"

    http://blog.163.com/benben_long/blog/static/199458243201411394624170/ xmlns:android="http://sch ...

  3. 添加xmlns:android="http://schemas.android.com/apk/res/android"的意思

    http://www.cnblogs.com/lovely/archive/2013/01/17/2865192.html xmlns:android="http://schemas.and ...

  4. xmlns:android="http://schemas.android.com/apk/res/android" 是什么意思?

    声明xml命名空间.xmlns意思为“xml namespace”.冒号后面是给这个引用起的别名.schemas是xml文档的两种约束文件其中的一种,规定了xml中有哪些元素(标签).元素有哪些属性及 ...

  5. 导入项目后,http://schemas.android.com/apk/res/android报错

    1.复制出现红色字体的路径 2.File - Settings - Language & Frameworks - schemas and DtDs - 粘贴显红路径

  6. Unity编译Android的原理解析和apk打包分析

    作者介绍:张坤 最近由于想在Scene的脚本组件中,调用Android的Activity的相关接口,就需要弄明白Scene和Activity的实际对应关系,并对Unity调用Android的部分原理进 ...

  7. Android 图片Bitmap,drawable,res资源图片之间转换

    一.知识介绍 ①res资源图片是放在项目res文件下的资源图片 ②BitMap位图,一般文件后缀为BMP,需要编码器编码,如RGB565,RGB8888等.一种逐像素的显示对象,其执行效率高,但缺点也 ...

  8. Android为TV端助力 apk静默安装

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢 ...

  9. 【Android自学日记】【转】Android Fragment 真正的完全解析(下)

    上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...

随机推荐

  1. Spring Boot 配置拦截器方式

    其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了.下面主要介绍两种常用的拦截器: 一.基于URL实现的拦截器: public class Log ...

  2. MySQL数据库的两种连接方式:TCP/IP和Socket

    Linux平台环境下主要有两种连接方式,一种是TCP/IP连接方式,另一种就是socket连接. 在Windows平台下,有name pipe和share memory(不考虑)两种. TCP/IP连 ...

  3. Oracle实例占用超高CPU排查

    CPU主要功能:处理指令.执行操作.要求进行动作.控制时间.处理数据. 结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询.大量排序等). 由于公司没有DBA,遇到数据库问题只能 ...

  4. 分布式配置中心:Spring Cloud Config

    最近在学习Spring Cloud的知识,现将分布式配置中心:Spring Cloud Config的相关知识笔记整理如下.[采用 oneNote格式排版]

  5. 转载 CXF动态调用webservice

    /** * * @param wsdlUrl wsdl的地址:http://localhost:8001/demo/HelloServiceDemoUrl?wsdl * @param methodNa ...

  6. pom.xml配置文件详解(Maven)

    注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文转载自:https://blog.csdn.net/u012152619/article/deta ...

  7. javaSE学习笔记(15) ---缓冲流、转换流、序列化流

    javaSE学习笔记(15) ---缓冲流.转换流.序列化流 缓冲流 昨天复习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化 ...

  8. Jenkins+robotframework持续集成环境(二)

    配置Jenkins上的robotframework环境 一.添加robot插件 需要导一个robot framework 的包,导包方式如下: 1.进入插件管理页面,选择“可选插件”,在右侧搜索栏搜索 ...

  9. disabled属性对form表单提交的影响

    在form表单里,如果对input加入disabled="disabled"或disabled="true"等属性,form表单提交的时候,就不会传值到后台. ...

  10. JAVA成长之路SpringCloud脚印(一)

    从即日起开始学习SpringCloud,在这里记录下学习过程,共勉,欢迎指正. 环境:IDEA2019.3.3.JAVA13 一.spring cloud简介 spring cloud 为开发人员提供 ...