2014-02-21 8 views
0

at API7 거기에 배경을 변경하고 선택한 행이 아닌 행을 선택하면 문제가 발생합니다. 내 실수는 어디 갔지? Android 4를 사용하는 휴대 전화에는 색상에 문제가 없습니다. 무엇이 잘못 되었나요?Listview selector wrong background

list_selector_flatcolor.xml :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 


    <ListView 
     android:id="@+id/custom_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:listSelector="@drawable/list_selector_flatcolor" 
     android:dividerHeight="1dp"/> 

</LinearLayout> 

colors.xml :

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="text_color_default">#00000C</color> 
    <color name="text_color_inverse">#FFFFFF</color> 
    <color name="white">#FFFFFF</color> 
    <color name="list_row_default_bg">#ffd30210</color> 
    <color name="list_row_pressed_bg">#008cef</color> 
    <color name="list_row_selected_bg">#86d3f6</color> 
</resources> 

enter image description here

+0

보십시오. –

+0

여전히 작동하지 않습니다. 내가 state_activated를 사용해야하는 이유는 무엇입니까? – user3241084

+0

내 새로운 코드 또는 스마트 폰에서 하나의 스냅 plz –

답변

1

이시도 목록보기와

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/list_row_default_bg" android:state_pressed="false" android:state_activated="true"/> 
    <item android:drawable="@color/list_row_pressed_bg" android:state_pressed="true"/> 
    <item android:drawable="@color/list_row_selected_bg" android:state_pressed="false" android:state_activated="true"/> 

</selector> 

레이아웃. android:state_selected 상태를 추가해야합니다.

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

그리고 당신은 당신이 당신의 Custom Layout 같은에 Background 등이 셀렉터를 설정할 수 있습니다 Custom Adapter를 사용하는 경우 : 당신의`row_selector`에 대한`state_activated`를 사용하는

android:background="@drawable/selector" 
+0

감사합니다 android : background = "@ drawable/item_selector"나는 이것을 잊어 버렸습니다 : – user3241084

+0

@ user3241084 yo welcome. –

+0

어떻게하면 선택한 행이 올바른 색을 취하고 다른 색을 선택한 경우 색이 바뀌는 지 어떻게 알 수 있습니까? – user3241084