|
|
@@ -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);
|
|
|
|