Сначала подумал, я не уверен, что установка альфа в 0 на вашем стираемом объекте рисования - это хорошая идея.Это может сделать все это неэффективным.
Кроме того, вы всегда должны использовать Bitmap.Config.ARGB_8888, если вы имеете дело с альфа-версией.
Если у вас возникли проблемы с материалом PorterDuff,Тем не менее, я бы предложил упростить ваш подход ТОЛЬКО сделать это (временно).Это поможет вам сузить часть, которая не работает.Закомментируйте все, что связано с касанием, и просмотрите обновления.
Затем вы можете выделить, какая часть рисунка работает неправильно.Настройте ваш конструктор следующим образом:
DrawView()
{
/* Create the background green bitmap */
...
/* Create foreground transparent bitmap */
...
/* Draw a blue circle on the foreground bitmap */
...
/* Apply the foreground to the background bitmap
using a PorterDuff method */
...
}
onDraw()
{
/* Simply draw the background bitmap */
...
}
Если вы настроите все так, вы сможете определить, как ваш метод PD влияет на зеленое растровое изображение, и соответственно изменить его.