浏览代码

[마이][New] 세로 스크롤 속도 조절

hyodong.min 7 年之前
父节点
当前提交
70b6ab0cc3
共有 1 个文件被更改,包括 16 次插入1 次删除
  1. 16 1
      app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

+ 16 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -47,6 +47,7 @@ import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
  */
 public class MainFragment extends FragmentBase<MainPresenter> implements IMainView {
 
+  private static final int MAX_VELOCITY_Y = 8000;
   private RecyclerView contentsRecyclerView;
   private MainContentsAdapter adapter;
   private PageIndicator indicator;
@@ -217,6 +218,20 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
       adapter = new MainContentsAdapter(getContext(), data, event -> {
         presenter.onEvent(event);
       });
+      contentsRecyclerView.setOnFlingListener(new RecyclerView.OnFlingListener() {
+
+        @Override
+        public boolean onFling(int velocityX, int velocityY) {
+
+          if (Math.abs(velocityY) > MAX_VELOCITY_Y) {
+            velocityY = MAX_VELOCITY_Y * (int) Math.signum((double) velocityY);
+            contentsRecyclerView.fling(velocityX, velocityY);
+            return true;
+          }
+
+          return false;
+        }
+      });
 
       contentsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false) {
         @Override
@@ -229,7 +244,7 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
           RecyclerView.SmoothScroller smoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
             @Override
             protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
-              return 200f / displayMetrics.densityDpi;
+              return 500f / displayMetrics.densityDpi;
             }
 
             // to screen center