取消滑动后,Onchild画移除图标

时间:2019-02-20 10:32:39

标签: java android

我在一个Android项目中, 我实现了onswipe功能,但是现在的问题是,如果我不进行滑动,则无法到达清除图标的位置。

我认为我缺少了一些东西,但我在Google上找不到它

    @Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                        float dX, float dY, int actionState, boolean isCurrentlyActive) {


    super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
    View itemView = viewHolder.itemView;
    int backgroundCornerOffset = 20;


    int iconMargin = (itemView.getHeight() - icon.getIntrinsicHeight()) / 4;
    int iconTop = itemView.getTop() + (itemView.getHeight() - icon.getIntrinsicHeight()) / 2;
    int iconBottom = iconTop + icon.getIntrinsicHeight();

    if (dX < 0) { // Swiping to the left
        int iconLeft = itemView.getRight() - iconMargin - icon.getIntrinsicWidth();
        int iconRight = itemView.getRight() - iconMargin;
        icon.setBounds(iconLeft, iconTop, iconRight, iconBottom);

        background.setBounds(itemView.getRight() + ((int) dX) - backgroundCornerOffset,
            itemView.getTop(), itemView.getRight(), itemView.getBottom());
    } else { // view is unSwiped
        background.setBounds(0, 0, 0, 0);

========>这里

    }

    icon.draw(c);
    background.draw(c);

}

在任何情况下都将绘制图标,但是如果用户取消滑动,我想将其删除

有什么想法吗?

谢谢!

0 个答案:

没有答案