Как сделать неполный свайп item`a в RecyclerView?
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator;
import static androidx.recyclerview.widget.ItemTouchHelper.LEFT;
public class SwipeController extends ItemTouchHelper.Callback {
Context context;
SwipeAdapter adapter;
public SwipeController( Context context, SwipeAdapter adapter ) {
this.context=context;
this.adapter=adapter;
}
@Override
public int getMovementFlags( @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder ) {
return makeMovementFlags ( 0, LEFT );
}
@Override
public boolean onMove( @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target ) {
return false;
}
@Override
public void onSwiped( @NonNull RecyclerView.ViewHolder viewHolder, int direction ) {
adapter.notifyItemChanged ( viewHolder.getAdapterPosition () );
}
@Override
public void onChildDraw( @NonNull Canvas c, @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive ) {
new RecyclerViewSwipeDecorator.Builder ( c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive )
.addSwipeLeftBackgroundColor ( ContextCompat.getColor ( context, R.color.recycler_view_item_swipe_left_background ) )
.addSwipeLeftActionIcon ( R.drawable.like )
.setSwipeLeftLabelColor ( Color.WHITE )
.create ()
.decorate ();
if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {
float width=(float) viewHolder.itemView.getWidth ();
float alpha=50.0f - Math.abs ( dX ) / width;
viewHolder.itemView.setAlpha ( alpha );
viewHolder.itemView.setTranslationX ( dX );
} else {
super.onChildDraw ( c, recyclerView, viewHolder, dX, dY,
actionState, isCurrentlyActive );
}
}
}
Как сделать свайп? Какой метод нужен?