2015-10-07 21 views
5

Renk olarak yer tutucu görüntüsü ayarlamak için Picasso'yu kullanmak istiyorum. Pay'ı Picasso ile yer tutucu görüntüsü olarak nasıl kullanabilirim?

bu çalıştı:

int placeHolderColor2 = Color.rgb(20,20,20); 

    Picasso.with(context) 
     .load(item.getImageUrls().get(0)) 
     .placeholder(placeHolderColor2) 
     .error(R.drawable.card_image) 
     .centerCrop() 
     .fit() 
     .into(viewHolder.imageView); 

Ama şu hataya yol açmaktadır:

10-07 05:36:42.965 5827-5827/? E/AndroidRuntime: android.content.res.Resources$NotFoundException: Resource ID #0xff141414 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.content.res.Resources.getValue(Resources.java:1266) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.content.res.Resources.getDrawable(Resources.java:785) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.content.res.Resources.getDrawable(Resources.java:752) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.squareup.picasso.RequestCreator.getPlaceholderDrawable(RequestCreator.java:676) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.squareup.picasso.RequestCreator.into(RequestCreator.java:637) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.squareup.picasso.RequestCreator.into(RequestCreator.java:601) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.lorentzos.swipecards.ServiceCardDtoListAdapter.createViewFromResource(ServiceCardDtoListAdapter.java:116) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.lorentzos.swipecards.ServiceCardDtoListAdapter.getView(ServiceCardDtoListAdapter.java:66) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.lorentzos.flingswipe.SwipeFlingAdapterView.layoutChildren(SwipeFlingAdapterView.java:161) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.lorentzos.flingswipe.SwipeFlingAdapterView.refresh(SwipeFlingAdapterView.java:152) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at com.lorentzos.flingswipe.SwipeFlingAdapterView.onLayout(SwipeFlingAdapterView.java:138) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.View.layout(View.java:15671) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.ViewGroup.layout(ViewGroup.java:5038) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.View.layout(View.java:15671) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.ViewGroup.layout(ViewGroup.java:5038) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.FrameLayout.onLayout(FrameLayout.java:514) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.View.layout(View.java:15671) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.ViewGroup.layout(ViewGroup.java:5038) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.View.layout(View.java:15671) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.ViewGroup.layout(ViewGroup.java:5038) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.widget.FrameLayout.onLayout(FrameLayout.java:514) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at android.view.View.layout(View.java:15671) 
10-07 05:36:42.965 5827-5827/? E/AndroidRuntime:  at 

nasıl Picasso ile yer tutucu görüntüsü olarak bir Renk kullanabilir?

cevap

5

Sen hatadan anlayabileceği kendisini Picasso

ait android.content.res.Resources$NotFoundException: Resource ID #0xff141414

kullanılabilmesi için son sürümünü log Ve ben bir renk yer tutucu yapmak için bu çözümü kullanılan Projemde bu

Picasso.with(mContext).load("URL").placeholder(R.color.holder_color).error(R.color.error_color).into(viewHolder.imageView); 
5

deneyin

 gradientDrawable = new GradientDrawable(); 
     gradientDrawable.setShape(GradientDrawable.RECTANGLE); 
     gradientDrawable.setColor(color); 

Picasso.with(context) 
    .load(item.getImageUrls().get(0)) 
    .placeholder(gradientDrawable) 
    .error(R.drawable.card_image) 
    .centerCrop() 
    .fit() 
    .into(viewHolder.imageView); 

Bu yaklaşım, ImageView öğesinin wrap_content olarak ayarlanmasına yardımcı olur, çünkü basit bir renk dolumu resim yükleninceye kadar görüntünüzü görünmez yapar, çünkü bildiğiniz gibi, renk herhangi bir yer kaplamaz.