diff --git a/app/src/main/java/com/example/yeseul/movieapp/view/adapter/BaseRecyclerAdapter.java b/app/src/main/java/com/example/yeseul/movieapp/view/adapter/BaseRecyclerAdapter.java index b715222..7b6f6aa 100644 --- a/app/src/main/java/com/example/yeseul/movieapp/view/adapter/BaseRecyclerAdapter.java +++ b/app/src/main/java/com/example/yeseul/movieapp/view/adapter/BaseRecyclerAdapter.java @@ -3,6 +3,11 @@ import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.AnimationSet; +import android.view.animation.ScaleAnimation; import java.util.ArrayList; import java.util.List; @@ -194,7 +199,23 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int }); onBindView((H) holder, position); + // 바인딩 된 아이템 애니메이션 세팅 + setAnimation(holder.itemView); } + private void setAnimation(View view) { + ScaleAnimation scaleAnimation = new ScaleAnimation( + 0.6f, 1.0f, 0.6f, 1.0f, + Animation.RELATIVE_TO_SELF, 0.5f, + Animation.RELATIVE_TO_SELF, 0.5f); + + AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f); + + AnimationSet animationSet = new AnimationSet(true); + animationSet.setDuration(700); // 애니메이션 지속 시간 700ms + animationSet.addAnimation(scaleAnimation); // 스케일 애니메이션 추가 + animationSet.addAnimation(alphaAnimation); // 페이드 애니메이션 추가 + view.startAnimation(animationSet); + } protected abstract void onBindView(H holder, int position); } diff --git a/app/src/main/java/com/example/yeseul/movieapp/view/custom/EmptyRecyclerView.java b/app/src/main/java/com/example/yeseul/movieapp/view/custom/EmptyRecyclerView.java index 2d3b614..df18704 100644 --- a/app/src/main/java/com/example/yeseul/movieapp/view/custom/EmptyRecyclerView.java +++ b/app/src/main/java/com/example/yeseul/movieapp/view/custom/EmptyRecyclerView.java @@ -27,9 +27,6 @@ private void initEmptyView() { emptyView.setVisibility(getAdapter() == null || getAdapter().getItemCount() == 0 ? VISIBLE : GONE); EmptyRecyclerView.this.setVisibility(getAdapter() == null || getAdapter().getItemCount() == 0 ? GONE : VISIBLE); } - if(getAdapter() != null){ - setItemViewCacheSize(getAdapter().getItemCount()); - } } final AdapterDataObserver observer = new AdapterDataObserver() {