Android 용 XML 속성의 물음표 (?)


140

누구나 안드로이드 XML 속성에서 물음표의 의미를 설명 할 수 있습니까?

<TextView    
    style="?android:attr/windowTitleStyle"
    More attributes
/>

답변:


132

물음표는 현재 적용된 테마의 자원 값에 대한 참조임을 의미합니다. 자세한 내용은 linuxtopia Android 개발자 안내서 또는 android.com 개발자 안내서 를 참조하십시오.

\? 물음표를 이스케이프합니다.



9
개발자 가이드 기사가 재구성되었습니다. 이것은 새로운 직접 링크입니다. developer.android.com/guide/topics/resources/…
mernen

3
말하는 것이 더 적절하다고 생각합니까? "현재 적용된 테마의 자원 값에 대한 참조"대신 "스타일 속성 참조"에 사용됩니다. 당신이 제공 한 android.com dev 가이드 링크에 따르면.
Helin Wang

5
동일한 사용자 정의 자원 속성을 포함하는 여러 테마를 고려할 때 가장 적합하다고 생각합니다. MyThemeTransformers 및 MyThemeHobbit와 같은 영화 관련 테마가 있고 movieIcon이라는 속성이 있다고 가정하십시오. 그리고 movieIcon은 각 테마 정의에서 @ 드로어 블 리소스 (예 : 로봇 또는 호빗 이미지)를 가리 킵니다. 툴바 나 대화 상자 또는보기 레이아웃과 같이 테마가 적용되는 모든 위치에서 "? attr / movieIcon"을 참조 할 수 있으며 테마간에 전환하면 자동으로 올바른 드로어 블을 가리 킵니다. 도움이 되길 바랍니다.
데본 비에르

1
@DevonBiere 도움이되었습니다! 귀하의 의견을 답변으로 제출하면 좋을 것입니다.
Alexander Suraphel

37

? 특정 하드 코딩 된 리소스 대신 스타일 속성 을 참조 할 수 있습니다 . 자세한 내용 은 Android 개발자 안내서의 "참조 스타일 속성"참조 하십시오.

그렇다면 이것이 실제로 어떻게 유용합니까? 동일한 사용자 정의 자원 속성을 포함하는 여러 테마 를 고려할 때 가장 적합 합니다 .

MyThemeTransformers 및 MyThemeHobbit과 같은 영화 관련 테마가 있고 movieIcon이라는 속성이 있다고 가정하십시오 . 그리고 해당 movieIcon 속성은 각 테마 정의에서 다른 @drawable 리소스 (예 : robot.png 또는 hobbit.png)를 가리 킵니다.

툴바 나 대화 상자 또는보기 레이아웃과 같이 테마가 적용되는 모든 위치에서 " ? attr / movieIcon "을 참조 할 수 있으며 테마 간을 전환 할 때 올바른 드로어 블을 자동으로 가리 킵니다. 다른 드로어 블을 사용하기 위해 테마 종속 논리가 필요하지 않습니다. 각 테마에 대해 movieIcon 속성을 정의하면 Android 프레임 워크가 나머지를 처리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.