瀏覽代碼

[마이][New] 북마크 카테고리 스크롤 속도 2배로 느리게 조절

hyodong.min 7 年之前
父節點
當前提交
e7066ab030

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/helper/ActionBarHelper.java

@@ -34,7 +34,7 @@ import kr.co.zumo.app.lifeplus.view.CustomHeaderBehavior;
  */
 public class ActionBarHelper extends Helper {
 
-  private static final int APP_BAR_LAYOUT_SCROLL_PARAM = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS | AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP;
+  private static final int APP_BAR_LAYOUT_SCROLL_PARAM = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS; // | AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP;
 
   private Context context;
   private ActionBar actionBar;

+ 24 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListFragment.java

@@ -1,13 +1,16 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.bookmark;
 
 import android.graphics.Paint;
+import android.graphics.PointF;
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.constraint.ConstraintLayout;
 import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.LinearSmoothScroller;
 import android.support.v7.widget.RecyclerView;
+import android.util.DisplayMetrics;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -124,7 +127,27 @@ public class BookMarkListFragment extends FragmentBase<BookMarkListPresenter> im
       presenter.onEvent(event);
     });
 
-    recyclerViewBookMarkList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
+    recyclerViewBookMarkList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false) {
+      @Override
+      public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
+
+        final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
+
+          @Override
+          public PointF computeScrollVectorForPosition(int targetPosition) {
+            return super.computeScrollVectorForPosition(targetPosition);
+          }
+
+          @Override
+          protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
+            return 50f / displayMetrics.densityDpi;
+          }
+        };
+
+        linearSmoothScroller.setTargetPosition(position);
+        startSmoothScroll(linearSmoothScroller);
+      }
+    });
     recyclerViewBookMarkList.setAdapter(bookMarkListAdapter);
   }