xmlにあるandroidとかtoolsとかappの違い
xmlには以下の画像のようにandroidとかappとかtoolsという名前空間?が存在します。
これらは何を表していて、お互いどのように違うのでしょうか。
調べる
調べてみるとtoolsに関しては公式ドキュメントで以下の通りに説明されていました。
Android Studio では tools 名前空間でさまざまな XML 属性がサポートされており、これを使用して設計時の機能(フラグメントに表示するレイアウトの選択など)やコンパイル時の動作(XML リソースに適用する圧縮モードの選択など)を有効にできます。これらの XML 属性はアプリのビルド時にビルドツールによって削除されるため、APK のサイズと実行時の動作には影響しません。
これらの XML 属性を使用するには、次のように、それらを使用する各 XML ファイルのルート要素に tools 名前空間を追加します。
参考:ツール属性のリファレンス
先輩に聞く
しかし他については分からなかったので先輩に聞くと次のような
大変わかりやすい回答が得られました。
- android : View毎の属性(オプション?)を設定するときに指定する
- app : 上記に加えて、カスタムViewを作った際にattr.xmlで定義した属性を設定するときに指定する
- tools : 主にプレビューウィンドウで確認したい属性を設定するときに指定する
わかりやすっ!!