Par exemple, dans:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
...
Dois-je le mettre?
Il définit l'espace de noms XML du document. Vous devriez le mettre, sinon des balises comme <RelativeLayout>
n'a pas pu être reconnu par l'analyseur.
Les espaces de noms sont un moyen pour les documents XML d'inclure des balises de différents fournisseurs. En utilisant l'attribut xmlns
, vous déclarez que, par défaut, vous utilisez des éléments XML définis ici: http://schemas.Android.com/apk/res/Android (note que ce lien est rompu - cette discussion explique pourquoi).
Vous déclarez également un espace de noms supplémentaire, tools
, qui n'est pas votre espace de noms par défaut, donc lorsque vous référencez des éléments ou des attributs qui y sont définis, vous devez ajouter le préfixe tools
, par exemple:
tools:context=".SomeActivity"
Ce qui suit est un lien utile de Android dev portal: https://developer.Android.com/studio/write/tool-attributes.html
Ça dit
Android Studio prend en charge une variété d'attributs XML dans l'espace de noms des outils qui permettent des fonctionnalités au moment du design (telles que la disposition à afficher dans un fragment) ou des comportements au moment de la compilation (tels que le mode de réduction à appliquer à vos ressources XML). Lorsque vous créez votre application, les outils de génération suppriment ces attributs afin qu'il n'y ait aucun effet sur la taille de votre APK ou sur le comportement d'exécution.
c'est-à-dire que l'espace de noms des outils aide à concevoir l'interface utilisateur et tous les attributs avec le préfixe `` outils '' seront supprimés au moment de la construction.
En fait, quand vous le faites:
<RelativeLayout Android:id> </RelativeLayout>
Au lieu d'appeler Android: id, le xml appellera http://schemas.Android.com/apk/res/Android:id . C'est juste la page qui déclare tous les attributs et vues que vous pouvez utiliser dans votre xml.
Voici une explication. http://www.w3schools.com/xml/xml_namespaces.asp