스크롤할 때 배경 목록 보기가 검은색이 됨
왼쪽에는 이미지가 포함된 모든 행과 오른쪽에는 텍스트가 포함된 스크롤 가능한 목록을 만들기 위해 다음 요소 중에서 특정 목록을 만들었습니다.
루트 레이아웃으로 시작하는 방법
<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>
화면이 정적으로 표시되는 한(움직이지 않는 경우처럼) 올바르게 표시되지만 목록을 스크롤하기 시작하면 행 항목의 배경(코드에 표시될 수 있는 "아이콘")은 올바르게 표시되지만 "루트" 레이아웃의 배경은 완전히 검은색이 됩니다...스크롤이 멈추면 대부분의 경우 배경색이 원래 색으로 돌아갑니다.테스트할 때 나는 또한 a를 추가했습니다.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에서 사용할 위치Listview
세트
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);
}
}
이 질문에 대한 답은 여러 가지가 있지만 오늘 저는 이 질문이 여전히 중요한 정보를 놓치고 있다는 것을 깨달았습니다.
이 문제에 대한 두 가지 가능한 해결책이 있습니다. 두 가지 모두 작동하지만 각각 다른 상황에서 사용해야 합니다.
방법들
사용하다android:cacheColorHint
당신의ListView
배경이 단색입니다.
<item name="android:cacheColorHint">@android:color/transparent</item>
사용하다android:scrollingCache
당신의ListView
(복잡한) 이미지를 배경으로 합니다.
<item name="android:scrollingCache">false</item>
메모
당신의 경우ListView
배경이 단색이므로 두 가지 방법이 모두 작동합니다.cacheColorHint
효과가 있을 것입니다.그러나 다음을 사용하는 것은 권장되지 않습니다.scrolingCache
목록 보기를 부드럽게 애니메이션화하고 스크롤하는 데 사용되는 최적화 방법을 해제하기 때문에 단색 배경에 대한 방법입니다.
참고 사항: scrolingCache
반드시 false인 것은 .ListView
의 애니메이션과 스크롤 속도가 느려집니다.
android:cacheColorHint="@android:color/transparent"
다음은 저에게 효과가 있었습니다.
myListView.setScrollingCacheEnabled(false);
android:cacheColorHint="#00000000"// setting transparent color
또는
의 배경이 되지 않음listview
.
속성 추가
android:cacheColorHint="#00000000" //transparent color
언급URL : https://stackoverflow.com/questions/2833057/background-listview-becomes-black-when-scrolling
'programing' 카테고리의 다른 글
로컬 SQL Server 데이터베이스 생성 (0) | 2023.07.15 |
---|---|
사전에서 첫 번째 요소 가져오기 (0) | 2023.07.15 |
excel vba의 공개 정적 변수 (0) | 2023.07.15 |
효소로 반응 성분을 테스트하는 중입니다.유형 스크립트에서 인스턴스 메서드를 찾을 수 없습니다. (0) | 2023.07.15 |
Mongoose는 Mongodb의 findAndModify 메서드를 지원합니까? (0) | 2023.07.15 |