나는 새를 사용하고 RecyclerView
기존 대체하기 위해 ListViews
다음과 같은 문제에 달아 : 이전에 BaseAdapter
, 내가 만들 수있는 '플라이에서 " Animation
어댑터 내부의 각 항목에 대해 간단하게이를 적용하여 Animation
받는 사람 convertView
과에 몰래 SparseBooleanArray
하는 위치에 대한 Animation
이미 표시되었습니다.
onBindViewHolder()
대체 된 메서드는에 getView()
대한 액세스를 제공하지 않으며 Views
새로운 ItemAnimator
. 기본적으로 각 항목에 내 자신 을 적용하려면 내 루트 View
에 액세스해야합니다 .ViewHolder
Animation
그것을 수행하는 방법에 대한 아이디어가 있습니까?
에 의해 사용되는 모든 뷰 홀더는 RecyclerView
서브 클래스가 RecyclerView.ViewHolder
이 클래스라는 공공 필드가 itemView
포함 View
과 관련된를 ViewHolder
.
final View view = viewHolder.itemView;
그러나 일반적으로 : 애니메이션은 RecyclerView
. 기본적으로 다음과 같은 별도의 클래스에서 구현합니다 ItemAnimator
.
mRecyclerView.setItemAnimator(new RecyclerView.ItemAnimator() {
@Override
public void runPendingAnimations() {
}
@Override
public boolean animateRemove(RecyclerView.ViewHolder viewHolder) {
return false;
}
@Override
public boolean animateAdd(RecyclerView.ViewHolder viewHolder) {
return false;
}
@Override
public boolean animateMove(RecyclerView.ViewHolder viewHolder, int i, int i2, int i3, int i4) {
return false;
}
@Override
public boolean animateChange(RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2, int i, int i2, int i3, int i4) {
return false;
}
@Override
public void endAnimation(RecyclerView.ViewHolder viewHolder) {
}
@Override
public void endAnimations() {
}
@Override
public boolean isRunning() {
return false;
}
});
모든 콜백에서 View
위에서 설명한 것처럼 public 필드를 통해 인스턴스에 액세스 할 수 있습니다 . RecyclerView.Adapter
달리 이전은 Adapters
의 데이터에 대한 정말 책임이있다 RecyclerView
.
이미 몇 가지 다른 .NET Framework 를 구현 한 GitHub에서이 라이브러리를 볼 수도 있습니다 ItemAnimators
.
자세한 내용은 설명서를 참조하십시오!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다