2012-04-01 6 views
2

Ich erstelle eine Anwendung, die im Grunde ein Zeichen in eine Bildansicht onClick platziert. Das Ergebnis ist ein Bildschirm mit einer Reihe von Bildern an bestimmten Stellen. Ich möchte diesen Bildschirm als Bild auf der SD-Karte auf dem Telefon des Benutzers speichern. Ich weiß bereits, wie man ein ImageView in ein Bitmap konvertiert und auf der SD-Karte speichert, aber wie kann ich alle ImageViews so speichern, wie sie auf dem Bildschirm als eine Datei angeordnet sind?Android: Speichern aller Inhalte eines XML-Layouts (Bildansichten usw.) als Bilddatei

Ich habe nach einer Antwort für mehrere Tage gesucht. Ich dachte zuerst an das Programmieren in einem Knopf, der einen Screenshot machen würde, aber alles, was ich lese, sagt, dass Sie nur Screenshot auf gerooteten Telefonen verwenden können.

Jede Hilfe würde sehr geschätzt werden. Vielen Dank!

+0

http://stackoverflow.com/questions/3107527/android-save-view-to-jpg-or-png – thaussma

+0

Sie die Lösung finden Sie hier: http://stackoverflow.com/questions/5939987/Android-take-Screenshot-über-Code. Lesen Sie auch die Kommentare zur ausgewählten Antwort. – Arci

+0

Vielen Dank, es hat super funktioniert !! – SillyFidget

Antwort

1
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(); 
} 
Verwandte Themen