Android: сохранение всего содержимого макета XML (изображения и т. Д.) В виде файла изображения - PullRequest
2 голосов
/ 01 апреля 2012

Я создаю приложение, которое в основном помещает рисование в imageView onClick.Результатом является экран с кучей изображений на нем в определенных местах.Я хочу сохранить этот экран как изображение на SD-карте на телефоне пользователя.Я уже знаю, как преобразовать один imageView в растровое изображение и сохранить его на SD-карту, но как я могу сохранить все imageViews так, как они выложены на экране в виде одного файла?

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

Любая помощь будет высоко ценится.Спасибо!

1 Ответ

1 голос
/ 01 апреля 2012
Bitmap bitmap = findViewById(your_layout_id).getDrawingCache();
File file = new File(path_to_store_file);
if(!file.exists())    
    file.createNewFile();
try{
   FileOutputStream ostream = new FileOutputStream(file);
   bitmap.compress(CompressFormat.PNG, 100, (OutputStream)ostream);
 } 
catch (Exception e) 
{
    e.printStackTrace();
}
...