Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android CardView使用ItemTouchHelper在RecyclerView中滑动一半_Android_Android Recyclerview_Swipe_Itemtouchhelper - Fatal编程技术网

Android CardView使用ItemTouchHelper在RecyclerView中滑动一半

Android CardView使用ItemTouchHelper在RecyclerView中滑动一半,android,android-recyclerview,swipe,itemtouchhelper,Android,Android Recyclerview,Swipe,Itemtouchhelper,当用户刷卡时,我想在CardView下显示用户菜单;但我希望cardView在刷卡过程中中途停止 我已创建MyItemTocuchHelper类并重写OnChildRaw()方法: 这样做的目的是,滑动动画在某个点停止(这是我想要做的);但当此视图被滑动时,滑动距离自动设置为屏幕宽度;我的意思是,当我尝试刷回它时,onchildraw()方法在第一次被dX=1038.0调用,它的值随着我继续刷回它而减小;因此,在dX达到mWidth值之前,不会播放动画。只要dX;'s值减小为mWidth值,动画

当用户刷卡时,我想在CardView下显示用户菜单;但我希望cardView在刷卡过程中中途停止

我已创建MyItemTocuchHelper类并重写OnChildRaw()方法:

这样做的目的是,滑动动画在某个点停止(这是我想要做的);但当此视图被滑动时,滑动距离自动设置为屏幕宽度;我的意思是,当我尝试刷回它时,onchildraw()方法在第一次被dX=1038.0调用,它的值随着我继续刷回它而减小;因此,在dX达到mWidth值之前,不会播放动画。只要dX;'s值减小为mWidth值,动画将再次开始

有没有办法将Swipedx设置为特定值?或者其他方法?我想要的是,当用户开始向后滑动视图时,立即启动动画

先谢谢你

  public class MyItemTocuchHelper extends ItemTouchHelper.SimpleCallback {

        .....

        private int mWidth = 128; // this value is calculated, but let's say its 128

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

        if (dX > mWidth) {
            dX = mWidth;
        }

        super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
    }
    }
@Override
    public float getSwipeThreshold(RecyclerView.ViewHolder viewHolder) {
        return 0.01f;
    }