Я взял ссылку от другой вопрос здесь Я сделал несколько модификаций, и это сработало для меня довольно хорошо.
Чтобы понять, что мы можем думать, нам просто нужно сохранить карту Действий и Точек.Для scribbling нам нужны методы path.moveTo (int x, int y), path.lineTo (int x, int y), path.quadTo (int x1, int y1, int x2, int y2) и path.reset ().
Действия в этом случае: lineTo, moveTo, quadTo, reset и точки, являющиеся соответствующими точками.
Я взял два массива 1 для x и еще один для y.Для quadTo (x1, y1, x2, y2) нам нужны две точки, для сброса нам не нужны никакие точки, а для других нам нужна одна точка (x, y).
Мы можем думать, что действия - это ключи, а {arrayX [], arrayY []} - это значение для действия.Для действий как lineTo и moveTo размер массива X [] и arrayY [] равен 1, а для quadTo размер равен 2, а для сброса размер равен 0 (или мы можем иметь оба массива нулевые), так как в этом случае нам не нужны точки,Нам просто нужно быть осторожными при получении значений точек из массива, соответствующего ключу Action.когда действие - это lineTo, мы просто рисуем путь на холсте.Спасибо Кришна