source

'app' Android XML 네임스페이스는 무엇입니까?

manysource 2023. 9. 12. 20:05

'app' 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네임스페이스 서비스?이것이 "표준" 안드로이드 XML 네임스페이스입니까?두 개의 서로 다른 네임스페이스에 동일한 속성에 대해 동일한 값 옵션을 사용할 수 있습니까(예:app:showAsAction그리고.android:showAsAction).

문서에서:android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]

즉, 속성이 대신 다음과 같다면 위 예제의 선은 다른 의미가 있습니까?

android:showAsAction="never"

일종의 '서브클래싱(subclassing)' 메커니즘일 수도 있는 것 같지만, 실제 문서를 찾을 수 없는 것 같습니다.appGoogle/Android 소스의 네임스페이스입니다.

appnamespace는 라이브러리에 특정한 것은 아니지만, 사용자 코드에 의해 또는 가져온 라이브러리에 의해 앱에 정의된 모든 속성에 사용되므로 사용자 지정 속성, 즉 안드로이드 시스템에 의해 정의되지 않은 속성을 위한 단일 글로벌 네임스페이스를 효과적으로 만듭니다.

이 경우에는.appcompat-v7라이브러리는 사용자 지정 특성을 미러링합니다.android:namespace ones는 안드로이드의 이전 버전을 지원합니다(예: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