Просмотр исходного кода

[콘텐츠상세][Common] 리스티클 커버에서 화살표 이미지 클릭시 속도 조절

Hasemi 7 лет назад
Родитель
Сommit
d2d9f57377

+ 15 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsFragment.java

@@ -7,9 +7,11 @@ import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.LinearSmoothScroller;
 import android.support.v7.widget.PagerSnapHelper;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.SnapHelper;
+import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -156,6 +158,7 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
 
   @Override
   public void setSmoothScrollToPosition(int i) {
+
     recyclerViewContentsDetail.smoothScrollToPosition(i);
   }
 
@@ -179,6 +182,18 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
       protected int getExtraLayoutSpace(RecyclerView.State state) {
         return 1;
       }
+
+      @Override
+      public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
+        final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
+          @Override
+          protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
+            return 70f / displayMetrics.densityDpi;
+          }
+        };
+        linearSmoothScroller.setTargetPosition(position);
+        startSmoothScroll(linearSmoothScroller);
+      }
     };
     recyclerViewContentsDetail.setLayoutManager(layoutManager);