스크롤 할 때 Background ListView가 검은 색이됩니다. android:divider=”#C8C8C8″

왼쪽에 이미지가 있고 오른쪽에 일부 텍스트가 포함 된 모든 행이있는 스크롤 가능한 목록을 만들기 위해 다음 요소 중 특정 목록을 만들었습니다.

“루트”레이아웃으로 시작하려면

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:background="#C8C8C8"
    >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"
        android:divider="#C8C8C8"
        android:background="#C8C8C8"/>
</LinearLayout>

그런 다음 ListView 내에 다음 “행”항목을 배치합니다.

<?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="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/bg_row"
>
    <ImageView
        android:layout_width="wrap_content"
        android:paddingLeft="10px"
        android:paddingRight="15px"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:layout_height="wrap_content"
        android:src="@drawable/bg_image"
    />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:textSize="16sp"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:maxHeight="50px"/>
</LinearLayout>

화면이 움직이지 않는 것처럼 정적으로 표시되면 올바르게 표시되지만 목록을 스크롤하기 시작하면 행 항목의 배경 (코드에 표시된 “아이콘”)이 표시됩니다. 올바르게 표시하지만, 스크롤 배경은, 시대의 대부분은, 그것의 색깔을 다시 얻을 것이다 정지 할 때 “루트”레이아웃의 배경이 … 완전히 검은 색이 될 것입니다 …로서 나는 시험 나는 또한 추가 TextView하는 루트 요소 같은 배경으로, 이것은 목록이 스크롤 될 때 색상을 유지합니다 … 왜 이런 일이 일어나고 있는지, 어떻게 해결할 수 있습니까?



답변

ListView태그에 속성 추가

android:cacheColorHint="#00000000" // setting transparent color

자세한 내용은 이 블로그를 확인 하십시오


답변

레이아웃 파일에서이 줄을 사용하는 것은 매우 간단합니다.

android:scrollingCache="false"

이처럼 :

<ListView 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollingCache="false"
/>


답변

다음과 같이 사용할 수 있습니다.

list.setCacheColorHint(Color.TRANSPARENT);
list.requestFocus(0);


답변

android:id="@android:id/list"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"
android:cacheColorHint="#00000000"/>


답변

우리는이 문제에 대한 많은 옵션을 가지고 있습니다. 프로그래밍을 통해 배경을 투명하게 설정할 수 있습니다

yourlistview.setCacheColorHint(Color.TRANSPARENT); 

또는 xml을 통해

android:cacheColorHint="@android:color/transparent"


답변

XML에서 Listviewset 을 사용할 위치

    android:cacheColorHint="@android:color/transparent"


답변

나는 이미지를 사용 listView하고 있으며 삼성 s4에서 때로는 스크롤링되지도 않습니다. 어댑터에서했던 바보 같은 실수였습니다. 이 문제를 해결하기 위해 보기를 null 로 설정했습니다.

 @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            Holder holder;
            convertView = null; // convert view should be null
            if (convertView == null) {
                holder = new Holder();
                convertView = inflater1.inflate(R.layout.listview_draftreport_item, null);
             }
        }