2016-04-25 3 views
0

Я пытаюсь создать представление, которое рисует фоновый цвет с изображением поверх него. Изображение должно быть преобразовано матрицей. Фон не должен быть.Неправильно нарисован фон

onDraw() метод выглядит следующим образом:

protected void onDraw(Canvas canvas) { 

     canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint); 

     Drawable drawable = getImageDrawable(); 

     if (drawable == null) { 
      return; 
     } 

     int count = canvas.save(); 

     if (clipRect != null) { 
      canvas.clipRect(clipRect); 
     } 
     canvas.concat(matrix); 
     drawable.draw(canvas); 
     canvas.restoreToCount(count); 
    } 

На некоторых устройствах я проверил на, фон выше и слева от изображения не рисуется правильно. Смотрите видео здесь: https://youtu.be/rno2XxaeNUA Вам нужно приостановить видео, чтобы посмотреть, что происходит.

ответ

0

Эта проблема была вызвана случайным переопределением View.getMatrix()

Смежные вопросы