Android ListView 선택기 색상
안녕하세요,
Android의 ListView에 대해 두 가지 질문이 있습니다.
listview의 초점이 맞춰진 행의 색상을 어떻게 얻을 수 있습니까? 문서에 따라 내가 찾고있는 것을 제공해야하는 ListView.getSelector () 메서드 를 사용하려고 시도 했지만 가능한 경우 색상을 검색하는 방법을 모르는 Drawable 개체를 제공하고 있습니다. ..).
어떻게 수 설정 목록보기의 초점을 맞춘 행의 색상을? 여기에서는 목록보기에서 setSelector () 메서드 를 사용하여 ColorDrawable 개체를 전달하려고했지만 그 결과 목록보기의 전체 배경이 해당 색으로 칠해져 있습니다. 물론이야...
감사!
목록 선택기 드로어 블은 다음 StateListDrawable
과 같습니다. 각 상태에 대한 여러 드로어 블에 대한 참조가 포함되어 있습니다. 선택, 포커스, 눌림, 비활성화 등 목록이 될 수 있습니다.
를 사용하여 드로어 블을 검색 할 수 있지만 getSelector()
에서 특정 항목 Drawable
을 검색 할 수 있다고 생각하지 않으며 어쨌든 StateListDrawable
에서 직접 프로그래밍 방식으로 색상을 검색하는 것도 가능하지 않습니다 ColorDrawable
.
색상 설정은 StateListDrawable
위에서 설명한대로 필요합니다 . 다음 android:listSelector
과 같이 XML로 드로어 블을 정의하는 속성을 사용하여 목록에이를 설정할 수 있습니다 .
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:state_focused="true"
android:drawable="@drawable/item_disabled" />
<item android:state_pressed="true"
android:drawable="@drawable/item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/item_focused" />
</selector>
추가하려면 : 드로어 블 대신 색상을 사용하는 경우 @Christopher 의 답변 은 API 7/8에서 작동하지 않습니다 (@Jonny의 올바른 주석에 따라). (내 테스트에서 Christopher에 따라 드로어 블을 사용하면 잘 작동합니다)
색상을 사용할 때 2.3 이하 의 FIX 는 다음 과 같습니다 .
@Charles Harley에 따르면, 2.3 이하에서는 목록 항목을 색상으로 채우면 색상이 전체 목록으로 흘러 나오는 버그가 있습니다. 그의 수정은 shape
원하는 색상을 포함 하는 드로어 블 을 정의 하고 색상 대신 사용하는 것입니다.
색상을 선택기로 사용하고 Android 2를 대상으로하는 경우 (또는 적어도 Android 2를 허용하는 경우)이 링크를 보는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/2038040/android-listview-selector-color
'Development Tip' 카테고리의 다른 글
00.0으로 인해 구문 오류가 발생하는 이유는 무엇입니까? (0) | 2020.10.24 |
---|---|
Android Gradle 5.0 업데이트 : 원인 : org.jetbrains.plugins.gradle.tooling.util (0) | 2020.10.24 |
멤버 함수로 부스트 바인드를 사용하는 방법 (0) | 2020.10.24 |
사람들은 왜 Java의 내장 JCE 공급자 대신 bouncycastle을 사용합니까? (0) | 2020.10.24 |
JSON 스키마 파일 확장명 (0) | 2020.10.24 |