누구나 안드로이드 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 프레임 워크가 나머지를 처리합니다.