2011-03-24 6 views
2

경고 :이 질문의 XML은 잘못되었습니다. 혼동하기 전에 대답을 읽어보십시오!9 개 항목으로 된 ListView 항목 배경 문제


나는 잠시 동안 벽에 머리를 두드렸다. 다음 게시물은 주제를 밝히지 만 내 문제를 해결하지 못했습니다. Android ListView State List not showing default item backgroundListView item background via custom selector

목록 항목을 선택하면 적절한 9 패치 배경이 완벽하게 표시되지만 기본 9 패치 배경을 얻을 수 없습니다. 처음에 표시됩니다. 기본 항목 배경을 어떻게 든 설정해야하는 것처럼 보이지만 그렇게하는 방법을 알 수는 없습니다.

목록보기 :

<?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"> 
    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/shopListHeader" 
    /> 
    <ListView 
    android:id="@+id/shopList" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:dividerHeight="0px" 
    android:divider="#FFFFFFFF" 
    android:listSelector="@drawable/shop_list_selector" 
    /> 
</LinearLayout> 

선택기 :

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:visible="true"> 

    <!-- the list items are enabled and being pressed --> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/shop_list_item_pressed" /> 

    <item 
     android:state_selected="true" 
     android:textColor="#FFFFFFFF" /> 
</selector> 

배경 : 당신이 볼 수 있듯이

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:visible="true"> 

    <item 
     android:state_selected="true" 
     android:drawable="@android:color/transparent" /> 

    <item 
     android:drawable="@drawable/shop_list_item" /> 
</selector> 

, 내가 참조의 예를 무식하게했다.

백그라운드 선택기가 어디에서나 참조되지 않는 것을 알 수 있습니다. 나는 임의의 장소에서 던지기 시작했다. (만약 추가 된 앱이 아무런 영향도 미치지 않거나 강제 종료를 야기하지 않는다.)

나는 또한 텍스트가 검은 색과 회색으로 변하는 것을 막기 위해 시도했다. (목록을 스크롤하여 수행 할 수 있음). 내 배경이 중앙에서 검은 색이되므로 텍스트를 선택하면 부분적으로 보이지 않게됩니다. 추가 (Selector의 마지막 항목 노드)는 내가 할 수있는 한 아무 것도하지 않습니다.

누구도이 엄청나게 많은 시간을 소모하는 기능을 작동시키는 데 어떤 생각을 갖고 있습니까? 당신이를 havent

답변

5

도움이되기를 바랍니다 I이었다거야이 스레드를 삭제,하지만하지 말아야 할 내용의 예 :

로 사용할 수없는 경우 나는 그래서 나는 볼 수 없습니다 첫째, ListView XML에서 : android:listSelector="@drawable/shop_list_selector"
그렇게하지 마십시오!

여기에서 수행하려는 작업은 목록 항목의 배경을 설정하고 android:background 속성이 작동하지 않습니다. 아이템 XML이 누락되어 있다는 사실을 눈치 채 셨을 것입니다. 그것은 그것이 내 머리에서 사라 졌기 때문입니다! (나는이 '문제'에서 망치고있는 무수한 시간에 그것을 결코 만진 적이 없다.) 그래서 android:background="@drawable/shop_list_selector" 라인은 아이템의 속성에 들어가며 모든 것이 끝내 준다. (위의 XML은 매우 잘못되었으므로 사용하지 마십시오!)

... 내 머리에서와 같이 실사가 잘 보이지 않는다는 점을 제외하고는 :
위로 판!!!

3

이 예를 들어 당신이 그것에 대해 몇 가지 문서를 찾을 수 있습니다 here 여기에 흰색

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

"정상적인"상태입니다, 참조 "정상"상태를 정의했다.

나는이

+0

의견을 보내 주셔서 감사합니다. 불행히도 문제가 해결되지 않습니다. ( – LostNomad311

+0

'ListView'내부의 항목 레이아웃의 배경으로 사용하고 있습니까? – raukodraug