Я использую следующий код для рисования растрового изображения во время onDraw пользовательского представления
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
p.setShadowLayer(3,3,3,0xff000000);
Bitmap bmp = BitmapFactory.decodeResource(some drawable jpg);
canvas.drawBitmap(bmp,null,new Rect(blah blah),p);
и тень выглядит смешно. Что я имею в виду? Я имею в виду, что я получаю другую тень, если я вызываю canvas.drawRect(). Он выглядит примерно так, как теневой код андроида обрабатывает растровое изображение как альфа-канал или что-то в этом роде.
попытались добавить p.setColor(0xff000000); и p.setStyle(Paint.Style.FILL); но не разница.
Наверное, я мог бы нарисоватьRect с тенью, а затем drawBitmap с теневым отключением, но это кажется глупым, поскольку это будет рендеринг пикселей в два раза.