2017-04-06 4 views
0

Ich habe eine Anwendung entwickelt, um Bilder aus der Galerie anzuklicken oder auszuwählen und die Anzahl der Objekte zu zählen, die im Bild vorhanden sind. Bei größeren Bildern dauert die Verarbeitung etwas länger (10 bis 15 Sekunden). Die Anwendung sieht aus als wäre sie in dieser Zeit eingefroren. Hier ist der Arbeitsablauf meiner AnwendungFügen Sie einen Begrüßungsbildschirm mitten in einer Aktivität ein

Hauptbildschirm (leerer Bildschirm mit einer Schaltfläche, um zum nächsten Bildschirm zu gelangen) -> Zweiter Bildschirm (mit einer Navigationsschublade und einem Fragment). Dieses Fragment enthält mein ImageView. Eine Taste im zweiten Bildschirm meine Hauptlade. Der Button ist verantwortlich für den Start der Bearbeitung. Immer wenn der Benutzer auf diese Schaltfläche klickt, wird die Verarbeitung gestartet und nach einer Weile wird das gemorphte Bild auf die Bildansicht gesetzt und es erscheint ein Alarmdialog mit der Zählung. Also, in der onClick-Methode, werde ich das Bild aus der Bildansicht abrufen und die Verarbeitung durch Aufruf von einigen Klassen durchführen. Nachdem ich fertig bin, setze ich ImageView mit der gemorphten Bitmap.

Also, ich möchte einen Anruf auf dem Begrüßungsbildschirm mit Text wie "Verarbeitung", nachdem das Bild abgerufen wird, und ich möchte diesen Bildschirm ausblenden, sobald die Bitmap von meiner anderen Klasse zurückgegeben wird. Dann wird das gemorphte Bild in die Bildansicht geladen. Wie mache ich das?

+0

Mögliche Duplikate von [Wie Ladebildschirm in Android erstellen?] (Http://stackoverflow.com/questions/32439145/how-to-create-loading-screen-in-android) – csmckelvey

Antwort

0

Die Anwendung sieht aus wie seine eingefrorene über diesen Zeitraum. Hier ist der Arbeitsablauf meiner Anwendung

Jedes Mal, Aufgaben raubend im Hintergrund ausgeführt werden soll (sei es AsyncTask, IntentService oder andere). Wenn benötigt. Blockieren Sie die Benutzeroberfläche von Benutzerinteraktion, aber nicht machen es blockiert. Der UI-Thread muss reaktionsschnell sein und 10-15 Sekunden lang sein.

Verwandte Themen