2016-01-27 4 views
1

Я пытаюсь загрузить image в ImageView используя picasso. Код приведен ниже:Picasso placeholder image анимация

Picasso.with(this) 
     .load(imageURL) 
     .placeholder(drawable1) 
     .error(drawable1) 
     .into(imageview) 

Сейчас здесь пока Picasso ждет завершения загрузки, то imageview гаснет. Чтобы не допустить, чтобы я хотел пометить текущее изображение на чертеже, а затем загрузить изображение, присутствующее в URL-адресе. Есть какой-либо способ сделать это?

+1

использовать глиссаду вместо пикассо. http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en –

+0

Pls прочитал http://stackoverflow.com/questions/24826459/animated-loading-image-in-picasso – BNK

ответ

1

Я думаю, что Picass выполнил это для вас, drawhode placehoder используется для отображения при загрузке изображения, а при выполнении загрузки изображения будет отображаться ошибка.

Если вы действительно хотите, чтобы сделать некоторые вещи, вы можете использовать Target следующим образом:

new Target() { 
    @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
    imageView2.setImageBitmap(bitmap); 
    } 

    @Override public void onBitmapFailed(Drawable errorDrawable) { 

    } 

    @Override public void onPrepareLoad(Drawable placeHolderDrawable) { 

    } 
} 
+0

Итак 'onPrepareLoad()' Я могу определить анимацию, которую я хочу? –

+0

@PrakharMohanSrivastava Я думаю, что вы делаете анимацию onBitmapLoaded, она покажет, что местозаполнитель доступен, когда изображение не загружено, и изображение будет изменено наBitmapLoaded и добавит дополнительную анимацию во время смены изображения. Но, с моей точки зрения, анимация не нужна, вы можете взглянуть на реальный эффект, когда вы используете picasso для показа изображения. – Weibo

0

Вы можете определить замирание из анимации в XML, как это:

<?xml version="1.0" encoding="UTF-8"?> 
     <set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <alpha android:fromAlpha="1.0" android:toAlpha="0.0" 
      android:interpolator="@android:anim/accelerate_interpolator" 
      android:duration="2000"/> 
    </set> 

Затем может загрузить анимацию, используя:

Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.your_fade_in_anim); 
    imageView.startAnimation(fadeoutAnim);