본문 바로가기

안드로이드/JAVA

[code] android recyclerview 깜빡임 방지

728x90

 

 

 

리싸이클러뷰를 사용하면서 깜빡거리는 애니메이션을 빼고 그냥 바꾸고 싶을 때가 있다.

아이템의 일부 요소만 바꾸고 싶은데 전체가 깜빡거리면 굉장히 거슬린다ㅠㅠ

 

이는 디폴트로 적용된 아이템 애니메이터 때문이다.

 


// 리싸이클러 뷰 아이템 깜빡거림 방지
mRecyclerView.setItemAnimator(null);

이렇게 해주면 매우 간단하게 해결ㅎ_ㅎ

 

디폴트로는 변화를 주고 싶지 않지만,

특수 상황에서 깜빡거리는 애니메이션으로 바뀐걸 알려줘야한다면??

 

// 적용할 부분
notifyItemRangeInserted(int positionStart, int itemCount);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());

 

 

찾아보니 xml 안에 넣을 수도 있나보다.

 

https://stackoverflow.com/questions/44296668/disable-animation-on-notifyitemrangeinserted

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:itemAnimator="@{null}" />

 

 

 

 

 

 

728x90