java—平滑地移动水平视图,其中包含视频帧

2w3rbyxf  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(195)

我有一个问题,移动一个水平滚动视图包含视频帧,与定时器的帮助。问题是,滚动不顺利,你可以看到在视频(下面的链接)。下面给出了我用来移动水平滚动视图的代码:


**`float density = getResources().getDisplayMetrics().density;

    final float px = (int) 4 * density;
    //4 is in PX here(Pixel)

    Log.v("DPPX__", "ORIG PX: " + px);
    Log.v("DPPX__", "Converted PX: " + (int) px);
    Log.v("DPPX__", "DP: " + 4);

    Timer timer = new Timer();
    checkingTimer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            horizontalScrollView.smoothScrollBy((int) px, 0);
            setCurrentVideoTime();
        }

    },0,200);//Update text every 200 milliseconds`**

您可能已经从代码中猜到了,我每200毫秒将滚动视图移动4个像素。所以为了使它更平滑,我试着每50毫秒移动1个像素,但是这样做产生的问题是scrollview只接受整数形式的scrolling参数。但是为了在dps中移动scrollview,我必须将像素转换为dp,进行旋转,所以得到的值是float。但是scrollview只接受scrollviewby或smoothscrollby方法中的整数参数。
任何帮助都将不胜感激。谢谢
视频链接:https://youtu.be/gfvsuf6uphi
屏幕的图像

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题