2016-07-21 5 views
8

XML 함께 좋은 협력 :XML 속성 xmlns : app이란 무엇입니까?

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

하지만 안드로이드 스튜디오 자동으로 완료

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

두 가지 도구 (/ tools 및/apk/res-auto)는 다른 용도로 사용됩니다./tools는 앱 제작에 사용되는 옵션 용이며 앱 자체에 속하지 않으며 apk에서 제거됩니다./apk/res-auto는 응용 프로그램에서 사용되는 사용자 정의 속성을위한 것입니다 –

+0

대부분의 간단한 용어/언어 –