programing tip

'앱'Android XML 네임 스페이스 란 무엇입니까?

itbloger 2020. 6. 4. 19:18
반응형

'앱'Android XML 네임 스페이스 란 무엇입니까?


다음은 파일 app에서 본 네임 스페이스 의 예입니다.res/menu/main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never" />
</menu>

app네임 스페이스 는 어떤 용도로 사용됩니까? "표준"Android XML 네임 스페이스입니까? 서로 다른 두 네임 스페이스 (예 : app:showAsActionandroid:showAsAction) 에 동일한 속성에 대해 동일한 값 옵션을 사용할 수 있습니까?

로부터 문서 :android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]

즉, 위 예제의 줄은 속성이 대신에 다른 것을 의미합니까?

android:showAsAction="never"

일종의 "서브 클래 싱"메커니즘 인 것 같지만 appGoogle / Android 소스에서 네임 스페이스 에 대한 실제 문서를 찾을 수없는 것 같습니다 .


app네임 스페이스는 도서관에 국한되지이지만 여부를 효과적으로 속성 정의에 대해 하나의 글로벌 네임 스페이스를 만드는 가져올 코드 또는 라이브러리가 앱에 정의 된 모든 속성에 사용됩니다 - 즉, 안드로이드 시스템에 의해 정의되지 않은 속성 .

이 경우 appcompat-v7라이브러리는 android:네임 스페이스를 미러링하는 사용자 정의 속성을 사용 하여 이전 버전의 Android를 지원합니다 (예 : android:showAsActionAPI11에서만 추가되었지만 app:showAsAction(응용 프로그램의 일부로 제공됨)는 앱이 수행하는 모든 API 레벨에서 작동 함). (가) 사용하여 android:showAsAction그 속성이 정의되어 있지 않은 경우 API 수준에서 작동하지 않을 것입니다.


이 링크에서 설명을 얻을 수 있습니다

XML 네임 스페이스

네임 스페이스 선언 XML 네임 스페이스는 예약 된 XML 속성 xmlns 또는 xmlns : prefix를 사용하여 선언되며 값은 유효한 네임 스페이스 이름이어야합니다.

예를 들어 다음 선언은 "xhtml :"접두사를 XHTML 네임 스페이스에 매핑합니다.

xmlns : xhtml = "http://www.w3.org/1999/xhtml"

접두사 "xhtml :"로 시작하는 이름을 가진 모든 요소 또는 속성은 XHTML 네임 스페이스에있는 것으로 간주됩니다 (조상 또는 위의 네임 스페이스 선언이있는 경우).

기본 네임 스페이스를 선언 할 수도 있습니다. 예를 들면 다음과 같습니다.

xmlns = "http://www.w3.org/1999/xhtml"

이 경우 네임 스페이스 접두어가없는 요소는 XHTML 네임 스페이스에있는 것으로 간주됩니다 (조상 또는 위의 기본 네임 스페이스 선언이있는 경우).

범위에 기본 네임 스페이스 선언이 없으면 네임 스페이스 이름에 값이 없습니다. [6] 이 경우 명시적인 네임 스페이스 접두사가없는 요소는 네임 스페이스에없는 것으로 간주됩니다.

속성에는 기본 네임 스페이스가 적용되지 않습니다. 명시적인 네임 스페이스 접두사가없는 속성은 네임 스페이스에없는 것으로 간주됩니다.

참고 URL : https://stackoverflow.com/questions/26692233/what-is-the-app-android-xml-namespace

반응형