Растровое изображение из представления не отображается на Android

Я пытаюсь создать растровое изображение из представления, которое пока не отображается, чтобы установить его как текстуру с OpenGL в android. Проблема в том, что когда я создаю растровое изображение, параметры макета моего представления имеют значение 0, потому что функция onLayout () еще не была вызвана. Есть ли способ «имитировать» макет или сделать «макет фона», чтобы получить правильные параметры макета? Я думал о макете фрейма, имеющем два вида, фон будет использоваться для создания моего растрового изображения, поскольку макет был бы выполнен.

Благодарю.

Вам действительно нужно развернуть свой вид, прежде чем рисовать его в растровое изображение. Просто вызовите myView.measure (…), затем myView.layout (0, 0, myView.getMeasuredWidth (), myView.getMeasuredHeigh ()). Я привел пример о том, как это сделать в одной из следующих презентаций: http://www.curious-creature.org/2010/12/02/android-graphics-animations-and-tips-tricks/

Итак, некоторые изменения после того, как вопрос был выяснен 🙂

Я предлагаю вам создать растровое изображение независимо от представления, а затем масштабировать его до того же размера, что и представление после создания представления. Создайте растровое изображение произвольного размера, которое позволяет вам отображать то, что вы хотите.

 // Это в каком-то классе, который отображает ваше растровое изображение независимо и может быть
 // запрашивается, чтобы получить растровое изображение ...
 Bitmap b = Bitmap.createBitmap (100, 100, Bitmap.Config.ARGB_4444); 
 // выставляем что-то вашему растровому изображению здесь

Затем, после того как ваше представление будет создано, возьмите предварительно обработанное растровое изображение и перетащите его в нужный размер (я на самом деле не проверял это, компилируя его – может быть, ошибки):

 Rect original = new Rect (0, 0, 100, 100);
 RectF destination = new RectF (0.0, 0.0, (float) myView.getWidth (), (float) myView.getHeight ());
 Canvas canvas = new Canvas (); 
 Canvas.drawBitmap (myRenderingClass.b, original, destination, null); 
 myView.draw (холст);
Intereting Posts
Android заставляет приложения Кордовы перезагружаться при использовании плагинов Кордовы и Capture Внедрение блокировки паролей для Android-приложений Как обновить содержимое фрагмента из активности (viewpager)? Пользовательский интерфейс перемещается вверх при открытии клавиатуры FileOutputStream не удалось с FileNotFoundException, даже несмотря на то, что файл, по-видимому, существует, доступен для записи и имеет разрешения Что произойдет Если я не закрою базу данных на Android? Android: универсальный загрузчик изображений Загрузка большого изображения Как заполнить изображение внутри ImageView пользовательской левой и верхней координатами | Android Пустой курсор из MediaStore Android: зачем использовать XMLReader? Калькулятор не обрабатывает два операторных уравнения Прозрачный размытый вид, который размывает макет под Как vivaldi.net установил цветной строки URL в Chrome для Android? Как я могу определить разделы Android-устройства из оболочки? Дополнительные намерения не удаляются / не заменяются