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

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

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



답변

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

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


답변

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

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

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

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


답변