2012-08-08 4 views
0

사용자 정의 구분선이있는 ListView가 있습니다. 구분선은 약간의 색상이고 높이가 3dp입니다. 목록의 각 항목에 사용자 지정 선택기를 추가 했으므로 항목을 클릭 할 때 배경색이 변경됩니다. 내 선택기는 다음과 같습니다.android 목록 항목 선택기 및 구분선

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">: 
    <item android:state_selected="true" android:drawable="@color/yellow" /> 
    <item android:state_pressed="true" android:drawable="@color/yellow" /> 
    <item android:drawable="@color/grey" /> 
</selector> 

항목을 선택하면 예상대로 회색에서 노란색으로 변경됩니다. 그러나 목록의 모든 구분선의 색상도 변경됩니다. 왜 이런 일이 일어나는 걸까요? 어떻게 해결할 수 있습니까?

답변

2

내가 생각하기에, 예제에서는 선택자에 거짓 상태가 작성되지 않았습니다. 이것은 문제 일 수 있습니다. 아래처럼 완전한 선택기 XML을 작성해보십시오.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">: 
    <item android:state_selected="true" android:state_pressed="false" android:drawable="@color/yellow" /> 
    <item android:state_selected="false" android:state_pressed="true" android:drawable="@color/yellow" /> 
    <item android:state_selected="false" android:state_pressed="false" android:drawable="@color/grey" /> 
</selector> 
+0

상태가 선택되지 않은 경우 선택기가 회색을 배경으로 사용하는 기본 상태를 선택하지 않습니까? – Maggie

+0

내가 틀렸다고 생각합니다 ... 이것은 실제로 도움이됩니다. 고맙습니다. – Maggie

+0

@Maggie 이렇게하면됩니다. Google이 설명서 및 비디오에서 설명하는 방식이기도합니다. 어떻게 당신을 도왔습니까? –

0

나는 분명히 구분선을 동일한 드로어 블로 설정하고, 나는 당신이 디바이더의 색상을 변경하는 데 도움이되는 코드를 게시하고있다. 이런 식으로.

android:divider="#FFCC00" 
android:dividerHeight="4px" 
+0

그의 질문은 이미 들어 있습니다. * 분배기 그냥 색상, 높이 3DP입니다 * 그래, 난 알고 있지만, 내가 말했다, 어쩌면 그는 디바이더를 설정 –

+0

= " @ drawable/somedrabale ", 그래서 내가 그것을 게시했습니다. –

0

기본 구분선을 사용하지 않도록 설정하고 목록 항목 배경의 일부로 맞춤 분할자를 만듭니다 (아마도 9- 패치 사용).

+0

그의 질문에는 이미 다음이 포함되어 있습니다 : * 디바이더는 약간의 색상이고 높이는 3dp입니다. * –

+0

알아요, 나는 그것을하기 위해 내가 좋아하는 방법을 제공하고 있습니다. 일반적으로 그래픽 디자이너의 경우와 같이 더 좋은 구분선이 있어야하기 때문입니다. –

+0

커스텀 디바이더가 이미 있습니다. 그리고 그것은 - 그녀 :) – Maggie

0

같이 listselector에 사용자 정의 선택 추가

<ListView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:listSelector="@drawable/listitem_selector"/> 
관련 문제