Я заметил, что вы добавляете "Pad" в прямоугольник назначения, чтобы изменить его высоту.
Если вы сделаете это, мне будет интересно, будет ли размер прямоугольника назначения соответствовать размеру изображения, которое вы рисуете, и, таким образом, «перерисовать» некоторую серую полосу, как вы видите. Просто предположение - может быть, если вы уберете подушку высоты, она исчезнет? Просто предположение.
dst = new Rect(0, pad, viewWidth, desiredHeight + pad);
canvas.drawBitmap(bmp, null, dst, null);