2017-01-02 4 views
0

Ich versuche Vorschau als Thumbnail aus Bildern im Web vor dem Download machen, es bedeutet, ich habe mehr Artikel auf RecyclerView und ich versuche, einfache unscharfe Vorschau von Bildern zu sehen, aber ich weiß es nicht whats solution, ich benutze diese unter code, aber ich denke, dass dieser code herunterladen vollbild, wie mit sozialen anwendung wie whatsapp oder telegramm wie kann ich Vorschaubild im Web und zeigen, dass für die Benutzer?Android machen Vorschau von Bildern im Web

new Thread(new Runnable() { 
    @Override 
    public void run() { 
     //First create a new URL object 
     URL url = null; 
     try { 
      if (checkNetWorkConnection()) { 
       url = new URL("http://wallpaperwarrior.com/wp-content/uploads/2016/09/Wallpaper-2.jpeg"); 

       //Next create a file, the example below will save to the SDCARD using JPEG format 

       File file = new File(APP.DIR_APP + APP.IMAGE + "/" + "Wallpaper-2.jpg"); 
       //Next create a Bitmap object and download the image to bitmap 
       Bitmap bitmap = BitmapFactory.decodeStream(url.openStream()); 

       //Finally compress the bitmap, saving to the file previously created 
       bitmap.compress(Bitmap.CompressFormat.JPEG, 50, new FileOutputStream(file)); 
      } 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
      Log.e("Error ", e.getMessage()); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
      Log.e("Error ", e.getMessage()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      Log.e("Error ", e.getMessage()); 
     } 
    } 
}).start(); 

Antwort

0

Sie können versuchen, mit diesem zoom effect implementieren. Es wird von vielen Anwendungen verwendet. Mit dem Beispiel können Sie Ihren eigenen Hintergrund wie Vollbild schwarzen Hintergrund erstellen, aber Sie müssen es selbst implementieren, die ziemlich einfach ist, aber ein bisschen viel Arbeit zu tun.

Neben warum nicht versuchen, Glide oder Picasso zu verwenden, um das Bild herunterzuladen und anzuzeigen? Es hilft Ihnen, eine Menge Arbeit wie Zwischenspeichern, Download in Asyncs, Größenanpassung usw. zu speichern.

Wenn Sie mit Bild besonders mit recycleview oder listview arbeiten, gibt es ein Problem, das Sie sich immer erinnern müssen. Jedes Mal, wenn Sie scrollen die ListView/RecycleView es tatsächlich erneut herunterladen das Bild, so müssen Sie wirklich überprüfen, ob es bereits in Ihrer SD-Karte vorhanden ist, um dieses Problem neben zu vermeiden es ist besser, Speicher ist, obwohl Sie es bereits auf der SD-Karte speichern, aber immer noch Sie können einen Speicherabsturz vermeiden, indem Sie ihn im Speicher zwischenspeichern. Diese harte Arbeit, die ich mit einer der Bibliotheken gemacht habe, zeige ich Ihnen.

0

Sie können Picasso lib verwenden.

Picasso 
.with(context) 
.load("http://wallpaperwarrior.com/wp-content/uploads/2016/09/Wallpaper-2.jpeg") 
.resize(600, 200) 
.centerInside() 
.into(imageViewResizeCenterInside); 

Sie können Kreisform zu Bild mit Transformation api von picasso geben.
beziehen Sie sich auf Picasso