2016-07-21 14 views
8

XMLは、との良好な作業をされていますXMLプロパティxmlns:appとは何ですか?

xmlns:app="http://schemas.android.com/apk/res-auto" 

が、Androidのスタジオ自動で完了し

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

で最大の文字を見ることができません。ここで

私のXMLです:

<com.rengwuxian.materialedittext.MaterialEditText 
    android:id="@+id/remark_text" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp" 
    app:met_maxCharacters="20" 
    app:met_baseColor="@color/black" 
    app:met_primaryColor="@color/white" /> 

答えて

7

のxmlnsは、後に一部 'XML名前空間'

  • の略 ':' '=' の後に名前空間
  • 一部の接頭辞であります名前空間URIです(その部分の正しい名前は実際には "名前空間名"です)。

(詳細はhttps://en.wikipedia.org/wiki/XML_namespaceを参照してください)

名前空間「schemas.android.com/toolsは」アンドロイドStudioでアプリを構築するためのオプションを指定するためのもので、最終的にアプリのパッケージに含まれていません

名前空間 'schemas.android.com/apk/res-auto'は、ライブラリまたはコードで定義されたすべてのカスタム属性に使用されます。詳細は、this answerを参照してください。

名前空間には任意の接頭辞を使用できますが、schemas.android.com/apk/res-autoには 'app'を使用する必要はありません。ただし、ドキュメント内にカスタム属性を定義するときには同じ接頭辞を使用する必要があります。そうでない場合は、エラーが表示されます。 met_maxCharactersは、カスタム属性であるため、「schemas.android.com/apk/res-auto」名前空間を使用する場合

そう、それが示され、そしてない
と「schemas.android.com/tools」

+0

非常に便利な答え!なぜAndroid Studioはapk/res-autoではなく/ toolsを使用しますか? –

+2

2つのツール(/ toolsと/ apk/res-auto)は異なる目的のためのものです:/ toolsはアプリケーションの構築に使用されるオプション用で、アプリケーション自体の一部ではなくapkで削除されます。/apk/res-autoは、アプリケーションで使用されているカスタム属性のためのものです –

+0

ほとんどの単純な用語/言語で説明されている非常に有用な答えは –

関連する問題