我有这样的RecyclerView行布局
<Layout>
<BackgroundView>
<ForegroundView>
</Layout>
Run Code Online (Sandbox Code Playgroud)
我ItemTouchHelper用来处理前景视图上的滑动(部分)
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
adapter.onItemSwiped(viewHolder);
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
float dX, float dY, int actionState, boolean isCurrentlyActive) {
View foregroundView = ((myViewHolder)viewHolder).getForegroundView();
getDefaultUIUtil().onDraw(c, recyclerView, foregroundView, dX, dY, actionState, isCurrentlyActive);
//getSwipeLimit() used below returns the width of the delete icon
float translationX = Math.min(-dX, ((myViewHolder) viewHolder).getSwipeLimit());
foregroundView.setTranslationX(-translationX);
}
Run Code Online (Sandbox Code Playgroud)
我在BindViewHolder我的适配器类中为backgroundview设置了一个单击侦听器.
@Override
public void onBindViewHolder(WhiteListViewHolder holder, Cursor cursor) {
//get name …Run Code Online (Sandbox Code Playgroud)