0

我有带有音量滑块的自定义字段(只是颜色线),我想在触控板移动时更新滑块,还有其他方法可以调用无效吗?因为这对我来说真的很慢,所以也尝试过仅使区域无效但结果相同。那么有没有办法在不失效的情况下重新绘制部分字段?

protected boolean navigationMovement(int dx, int dy, int status, int time) {
    if (dx >0) {
        if (value < maxValue) {
            value++;
            invalidate(xPosSlider + value*sliderStep, getHeight()/2 - SLIDER_HEIGHT/2, sliderStep, SLIDER_HEIGHT);                                  
            return true;
        }
    } else if (dx < 0) {
        if (value > 0) {
            value--;
            invalidate();
            return true;
        }
    }

    return super.navigationMovement(dx, dy, status, time);
}
4

1 回答 1

1

首先要看的是你自己的代码。您是否在阻止绘制操作及时发生的偶数线程上做一些耗时的事情?这就是可能的问题。

否则,您可以尝试直接调用paint 方法,如此处所示。但最好的解决方案是确保您的事件线程不会被捆绑在单独的线程上完成的工作。

于 2011-02-08T14:58:48.783 回答