2017-05-02 2 views
0

ich versuche, Fresko über Picasso zu verwenden Speicherlecks zu vermeiden, aber festgestellt, dass Fresko nicht Skalierung unterstützt, wie sie von PicassoFresko unterstützt keine Optionen der Größe wie picasso

unterstützt wird folgend ist mein Code Bild mit picasso, um der Größe

PicassoCache.getPicassoInstance(holder.itemView.getContext()) 
.load(Uri.encode(item.imageUrl, Constants.ALLOWED_URI_CHARS)) 
.tag(Constants.IMAGE_LOADING_TAGS.ALL_DEAL) 
.placeholder(R.drawable.imgload) 
.error(R.drawable.imgntfound) 
.resize(200, 0) 
.into(holder.itemImage); 

Jetzt hier Picasso erlaubt entweder Breite und Höhe zu Null und Bild entsprechend skalieren. Aber da Fresco keine Funktionalität wie diese unterstützt, musste ich sowohl die Breite als auch die Höhe angeben.

ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri) 
.setResizeOptions(new ResizeOptions(200, 200)) 
.build(); 
DraweeController controller = Fresco.newDraweeControllerBuilder() 
.setOldController(holder.itemImage.getController()) 
.setImageRequest(request) 
.build(); 
holder.itemImage.setController(controller); 

Gibt es eine Chance das Fresko mit erreichen

+0

siehe meine Antwort @apk das funktioniert wie ein Charme –

Antwort

0

Sie können wie folgt erreichen, ist es für mich funktioniert.

ImageRequest request = ImageRequestBuilder 
       .newBuilderWithSource(uri) 
       .setResizeOptions(new ResizeOptions(250, 250)) 
       .setLocalThumbnailPreviewsEnabled(true).build(); 
DraweeController controller = Fresco.newDraweeControllerBuilder() 
       .setImageRequest(request) 
       .setOldController(holder.iv_product.getController()) 
       .build(); 
holder.iv_product.setController(controller); 

Hier ist meine layout.xml, die ich verwendet wurde.

<com.facebook.drawee.view.SimpleDraweeView 
     android:id="@+id/iv_product" 
     android:layout_width="160dp" 
     android:layout_height="165dp" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:padding="1dp" 
     fresco:actualImageScaleType="fitCenter" 
     fresco:fadeDuration="1000" 
     fresco:placeholderImage="@drawable/default_product_logo" 
     fresco:viewAspectRatio="0.99" /> 
+0

Meine Frage ist anders Bitte lesen Sie es erneut – apk

0

Siehe meine Antwort auf GitHub: Leider ist dies derzeit nicht unterstützt Sie sowohl die Breite und Höhe angeben müssen. In ähnlicher Weise unterstützt Fresco auch wrap_content nicht. Weitere Informationen zu diesem Thema finden Sie hier: http://frescolib.org/docs/wrap-content.html

+0

gibt es eine Chance Fresco Bibliothek wird Funktionalität wie diese unterstützen. In meiner App gibt es viele Szenarien, in denen ich Höhe oder Breite oder Seitenverhältnis nicht kenne. Für jetzt ist es möglich, Breite und Höhe des Bildes zu erhalten, dann werde ich das Seitenverhältnis programmgesteuert angeben – apk

Verwandte Themen