たとえば、
<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" >
...
置く必要がありますか?
ドキュメントのXML名前空間を定義します。それ以外の場合は、<RelativeLayout>
はパーサーによって認識されませんでした。
名前空間は、XMLドキュメントがさまざまなベンダーのタグを含めるための方法です。宣言するxmlns
属性を使用すると、デフォルトで、ここで定義されているXML要素を使用していることになります。 http://schemas.Android.com/apk/res/Android (注このリンクが壊れていること- この議論 理由を説明します)。
また、追加の名前空間tools
を宣言します。これはデフォルトの名前空間ではないため、そこで定義された要素または属性を参照する場合、次のようにtools
プレフィックスを追加する必要があります。
tools:context=".SomeActivity"
以下はAndroid dev portal: https://developer.Android.com/studio/write/tool-attributes.html からの便利なリンクです。
それは言う
Android Studioは、ツールネームスペースでさまざまなXML属性をサポートし、デザイン時機能(フラグメントに表示するレイアウトなど)またはコンパイル時の動作(XMLリソースに適用する縮小モードなど)を有効にします。アプリをビルドすると、ビルドツールはこれらの属性を削除するため、APKのサイズや実行時の動作に影響はありません。
つまり、ツールの名前空間はUIの設計に役立ち、プレフィックス「tools」を持つすべての属性はビルド時に削除されます。
実際、あなたがするとき:
<RelativeLayout Android:id> </RelativeLayout>
Android:idを呼び出す代わりに、xmlは http://schemas.Android.com/apk/res/Android:id を呼び出します。 XMLで使用できるすべての属性とビューを宣言するページです。
ここに説明があります。 http://www.w3schools.com/xml/xml_namespaces.asp