在将其添加到数组后,为什么还要向Android Path对象添加更多行?

时间:2018-12-13 03:47:53

标签: android kotlin android-canvas

我正在扩展视图的自定义视图中

我有一个数组列表,其中包含一对Path和Paint

private lateinit var fingerPathForPair: Path
private lateinit var fingerPaintForPair:Paint
private var arrayListFingerPath = arrayListOf< Pair< Path, Paint > >()

为什么当我在下面的代码段中调用第二行(我的代码位于MotionEvent.ACTION_DOWN部分中View的触摸侦听器内)时,我仍然可以添加行到fingerPathForPair的位置,例如当我使用触摸监听器的fingerPathForPair.lineTo(touchPosX, touchPosY)部分中的代码MotionEvent.ACTION_MOVE

fingerPathForPair  = Path()
arrayListFingerPath.add(Pair(fingerPathForPair, fingerPaintForPair))`

如果您认为发布全班课程对您有帮助,请询问,我会进行编辑。

添加1

用于删除用户在画布上进行的最后笔划的代码

fun undo()
{
    // Get paths from main finger paths array list and add it to the undo store
    if (this.arrayListFingerPath.isNotEmpty())

    {
        // Remove the last modified path from the main arraylist of finger paths and add it to the undo store
        this.arrayListFingerPathUndoStore.add(this.arrayListFingerPath.removeAt(this.arrayListFingerPath.lastIndex))
        invalidate()
    }
}

0 个答案:

没有答案