CopyPastor

Detecting plagiarism made easy.

Score: 1.5946545004844666; Reported for: String similarity, Exact paragraph match Open both answers

Possible Plagiarism

Plagiarized on 2020-01-20
by Avinash

Original Post

Original - Posted on 2019-07-03
by ParSa



            
Present in both answers; Present only in the new answer; Present only in the old answer;

try with this one, it may helps you

RecyclerView recyclerView = findViewById(R.id.recyclerview);
final int time = 2000; // it's the delay time for sliding between items in recyclerview
final AdapterClass adapter = new AdapterClass(list,context);
final CenterZoomLayoutManager linearLayoutManager = new CenterZoomLayoutManager(context, CenterZoomLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(linearLayoutManager); // if list size is greater then zero then use it for zoom first item automatially
linearLayoutManager.setTargetStartPos(1,1); recyclerView.setAdapter(adapter);
//The LinearSnapHelper will snap the center of the target child view to the center of the attached RecyclerView , it's optional if you want , you can use it
final LinearSnapHelper linearSnapHelperClass = new LinearSnapHelper(); linearSnapHelperClass.attachToRecyclerView(recyclerView);
final Timer timer = new Timer(); timer.schedule(new TimerTask() {
@Override public void run() {
if (linearLayoutManager.findLastCompletelyVisibleItemPosition() < (adapter.getItemCount() - 1)) {
linearLayoutManager.smoothScrollToPosition(recyclerView, new RecyclerView.State(), linearLayoutManager.findLastCompletelyVisibleItemPosition() + 1); }
else if (linearLayoutManager.findLastCompletelyVisibleItemPosition() == (adapter.getItemCount() - 1)) {
linearLayoutManager.smoothScrollToPosition(recyclerView, new RecyclerView.State(), 0); } } }, 0, time);

Use this class for center zoom image.
package com.example.android.androidtask.model;
import android.content.Context; import android.os.Parcelable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View;
public class CenterZoomLayoutManager extends LinearLayoutManager {
private final float mShrinkAmount = 0.15f; private final float mShrinkDistance = 0.9f; private int mPendingTargetPos = -1; private int mPendingPosOffset = -1;
public CenterZoomLayoutManager(Context context) { super(context); }
public CenterZoomLayoutManager(Context context, int orientation, boolean reverseLayout) { super(context, orientation, reverseLayout); }

@Override public int scrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state) { int orientation = getOrientation(); if (orientation == VERTICAL) { int scrolled = super.scrollVerticallyBy(dy, recycler, state); float midpoint = getHeight() / 2.f; float d0 = 0.f; float d1 = mShrinkDistance * midpoint; float s0 = 1.f; float s1 = 1.f - mShrinkAmount; for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); float childMidpoint = (getDecoratedBottom(child) + getDecoratedTop(child)) / 2.f; float d = Math.min(d1, Math.abs(midpoint - childMidpoint)); float scale = s0 + (s1 - s0) * (d - d0) / (d1 - d0); child.setScaleX(scale); child.setScaleY(scale); } return scrolled; } else { return 0; } }
@Override public int scrollHorizontallyBy(int dx, RecyclerView.Recycler recycler, RecyclerView.State state) { int orientation = getOrientation(); if (orientation == HORIZONTAL) { int scrolled = super.scrollHorizontallyBy(dx, recycler, state);
float midpoint = getWidth() / 2.f; float d0 = 0.f; float d1 = mShrinkDistance * midpoint; float s0 = 1.f; float s1 = 1.f - mShrinkAmount; for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); float childMidpoint = (getDecoratedRight(child) + getDecoratedLeft(child)) / 2.f; float d = Math.min(d1, Math.abs(midpoint - childMidpoint)); float scale = s0 + (s1 - s0) * (d - d0) / (d1 - d0); child.setScaleX(scale); child.setScaleY(scale); } return scrolled; } else { return 0; }
}

@Override public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) { if (mPendingTargetPos != -1 && state.getItemCount() > 0) { /* Data is present now, we can set the real scroll position */ scrollToPositionWithOffset(mPendingTargetPos, mPendingPosOffset); mPendingTargetPos = -1; mPendingPosOffset = -1; } super.onLayoutChildren(recycler, state); }
@Override public void onRestoreInstanceState(Parcelable state) { /* May be needed depending on your implementation.
Ignore target start position if InstanceState is available (page existed before already, keep position that user scrolled to) */ mPendingTargetPos = -1; mPendingPosOffset = -1; super.onRestoreInstanceState(state); }
/** * Sets a start position that will be used <b>as soon as data is available</b>. * May be used if your Adapter starts with itemCount=0 (async data loading) but you need to * set the start position already at this time. As soon as itemCount > 0, * it will set the scrollPosition, so that given itemPosition is visible. * @param position * @param offset */ public void setTargetStartPos(int position, int offset) { mPendingTargetPos = position; mPendingPosOffset = offset; } }

This is the best way to **Auto Scroll RecyclerView** and its **100%** working :
RecyclerView recyclerView = findViewById(R.id.rv_id);
final int time = 4000; // it's the delay time for sliding between items in recyclerview
final Adapter adapter = new Adapter(dataItems); recyclerView.setAdapter(adapter);
final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(rootView.getContext(), LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(linearLayoutManager);
//The LinearSnapHelper will snap the center of the target child view to the center of the attached RecyclerView , it's optional if you want , you can use it final LinearSnapHelper linearSnapHelper = new LinearSnapHelper(); linearSnapHelper.attachToRecyclerView(recyclerView);
final Timer timer = new Timer(); timer.schedule(new TimerTask() {
@Override public void run() {
if (linearLayoutManager.findLastCompletelyVisibleItemPosition() < (adapter.getItemCount() - 1)) {
linearLayoutManager.smoothScrollToPosition(recyclerView, new RecyclerView.State(), linearLayoutManager.findLastCompletelyVisibleItemPosition() + 1); }
else if (linearLayoutManager.findLastCompletelyVisibleItemPosition() == (adapter.getItemCount() - 1)) {
linearLayoutManager.smoothScrollToPosition(recyclerView, new RecyclerView.State(), 0); } } }, 0, time);

        
Present in both answers; Present only in the new answer; Present only in the old answer;