setDrawingCacheEnabled не работает на LinearLayout
Итак, в основном у меня есть следующий кусок кода:
llPhotoTest.setDrawingCacheEnabled(false);
llPhotoTest.setDrawingCacheEnabled(true);
...
llPhotoTest.getDrawingCache();
В первый раз все в порядке, но во второй раз кэшированная картинка остается прежней. Я видел много решений этой проблемы, но у меня ничего не работает. Буду признателен за любую помощь или предложение. заранее спасибо
Я пробовал:
llPhotoTest.setDrawingCacheEnabled(true);
llPhotoTest.getDrawingCache();
llPhotoTest.setDrawingCacheEnabled(false);
Тоже попробовал
llPhotoTest.buildDrawingCache();
llPhotoTest.getDrawingCache();
llPhotoTest.destroyDrawingCache();
Все та же картина:(
Есть макет границы
2 ответа
Спасибо всем! Я нашел решение, это была проблема.llPhotoTest.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Из документации http://developer.android.com/reference/android/view/View.html:
Indicates that the view has a software layer. A software layer is backed by a bitmap and causes the view to be rendered using Android's software rendering pipeline, even if hardware acceleration is enabled.
Это не хороший способ отобразить растровое изображение.
Используйте ImageView
не LinearLayout
и позвонить ImageView.setImageBitmap(Bitmap bm)