TextView
사용자가 터치 할 때 Android 위젯의 배경색을 변경하려고 합니다. 나는 그 목적을 위해 선택기를 만들었는데, 저장되어 res/color/selector.xml
있고 대략 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/semitransparent_white"
/>
<item
android:color="@color/transparent"
/>
</selector>
clickable
의 속성 TextView
인 true
관심의 경우.
이 선택기를 TextView
as에 할당하면 android:background="@color/selector"
런타임에 다음 예외가 발생합니다.
ERROR / AndroidRuntime (13130) : 원인 : org.xmlpull.v1.XmlPullParserException : 바이너리 XML 파일 줄 # 6 : 태그에는 드로어 블을 정의하는 'drawable'속성 또는 하위 태그가 필요합니다.
속성을 드로어 블로 변경하면 작동하지만 ID가 색상 참조 대신 이미지 참조로 해석되는 것처럼 보이기 때문에 결과가 완전히 잘못 보입니다 ( "드로어 블"에서 알 수 있듯이).
나를 혼란스럽게하는 것은 "@ color / black"과 같은 색상 참조를 배경 속성으로 직접 설정할 수 있다는 것입니다. 이것은 예상대로 작동합니다. 선택기를 사용하면 작동하지 않습니다.
선택기를 textColor
문제없이 사용할 수도 있습니다 .
TextView
Android에서 background-color-selector를 적용하는 올바른 방법은 무엇입니까 ?