package cn.flightfeather.thirdappmodule.util.slideswaphelper;
|
|
import android.graphics.Canvas;
|
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.helper.ItemTouchHelper;
|
|
import cn.flightfeather.thirdappmodule.adapter.TaskListHolder;
|
|
|
/**
|
* Created by WANG on 18/3/14.
|
*/
|
|
public class PlusItemSlideCallback extends WItemTouchHelperPlus.Callback {
|
String type;
|
|
public PlusItemSlideCallback(String type) {
|
this.type = type;
|
}
|
|
@Override
|
public boolean isItemViewSwipeEnabled() {
|
return true;
|
}
|
|
|
@Override
|
int getSlideViewWidth() {
|
return 0;
|
}
|
|
@Override
|
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
|
return makeMovementFlags(0, ItemTouchHelper.START);
|
}
|
|
@Override
|
public String getItemSlideType() {
|
return type;
|
}
|
|
@Override
|
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
|
return false;
|
}
|
|
@Override
|
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
|
|
}
|
|
@Override
|
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
|
if (viewHolder instanceof TaskListHolder) {
|
TaskListHolder holder = (TaskListHolder) viewHolder;
|
float actionWidth = holder.getActionWidth();
|
if (dX < -actionWidth) {
|
dX = -actionWidth;
|
}
|
holder.slideLayout.scrollTo(-(int) dX, 0);
|
} else {
|
super.onChildDraw(c,recyclerView,viewHolder,dX,dY,actionState,isCurrentlyActive);
|
}
|
}
|
|
@Override
|
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
|
super.clearView(recyclerView, viewHolder);
|
|
viewHolder.itemView.setScrollX(0);
|
|
}
|
}
|