Intereting Posts
Как получить текст из текстового поля в Android-виджетах? Что делает андроид: isScrollContainer? Можно ли настроить пользовательские заголовки HTTP в WebView Разница между версиями подписей – V1 (подпись Jar) и V2 (полная подпись APK) при генерации подписанного apk в AndroidStudio? Как использовать службы специальных возможностей для «принятия мер для пользователей»? Воспроизведение плейлиста ExoPlayer 2 API Google Диска – Android – Как получить идентификатор файла диска? Как добавить тестовую зависимость с помощью android gradle plugin experimental 0.1.0 Уменьшить размер отладки APK в IntelliJ Почему Eclipse не видит мой телефон Samsung Galaxy, хотя я могу передавать файлы с помощью буквы диска? Создание вкладок с использованием фрагментов теперь, когда TabActivity устарела С Android-студией не найдено jvm, установлен JAVA_HOME Исключение безопасности приоритета потока убедитесь, что apk подписан Как получить клики на RecyclerView (НЕ дети) Ошибка развертывания / установки телефона PhoneGap 3

Растровое изображение из TextView (getDrawingCache) всегда равно нулю

Я пытаюсь извлечь растровое изображение, связанное с отображаемым экземпляром TextView, но всегда возвращает нулевое значение. Что я делаю не так? Должен ли я использовать textview.draw (canvas) вместо этого?

TextView textview = (TextView) findViewById(R.id.text_title); textview.setDrawingCacheEnabled(true); textview.buildDrawingCache(); Bitmap bmp = textview.getDrawingCache(); 

Solutions Collecting From Web of "Растровое изображение из TextView (getDrawingCache) всегда равно нулю"

Сделайте это до получения кэша чертежа, он решит проблему

view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());

А затем getDrawingCache() вернет растровое изображение и нарисует это растровое изображение на вашем холсте.

И если вы используете растровые изображения в своем приложении, предпочитайте очищать их из памяти, вызывая метод recycle (), чтобы растровые изображения очищались из памяти для вашей безопасной стороны, чтобы избежать outOfMemoryException

У Android максимальный размер кеша рисования. Если кеш чертежа будет больше, то getDrawingCache () возвращает значение null. См. Ответ на этот вопрос .

Вы можете найти обходной путь в ответе на этот вопрос .

 view.getDrawingCache(); 

должно быть:

 textview.getDrawingCache();