Я знаю, что это не отвечает на ваш вопрос, но ....
Точно так же, как и для других разработчиков, читающих это, если то, что вы на самом деле пытаетесь сделать, - это иметь доступ к содержимому пользовательского представления, получите свое собственное представление из ImageView. А затем создайте холст и растровое изображение, которым вы собираетесь управлять / рисовать / читать и использовать setImageBitmap () для установки вашего растрового изображения в объект представления. С этого момента вы можете игнорировать холст, переданный вам в методе onDraw (canvas), и просто рисовать вместо него локальный холст / растровое изображение.
Зачем вам это нужно? На мой взгляд, в классе холста есть недосмотр. Класс Canvas не дает ни способа прочитать содержимое холста, ни получить его за растровым изображением. Поэтому, если вам когда-либо понадобится прочитать растровое изображение, например, чтобы получить дамп изображения содержимого представления, я не знаю, как это сделать, кроме описанного выше метода.
Это не будет работать для проблемы RelativeView, первоначально описанной здесь в этой теме, но это может представлять интерес для новых разработчиков Android.