Как отобразить индикатор выполнения для макета, пока не загружен SmartImageView

Как я могу вызвать spinner.setVisibility(View.GONE); после SmartImageView загружен?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
    mUrl = getIntent().getStringExtra(URL);
    Image = (SmartImageView) findViewById(R.id.ivP);
    final ProgressBar spinner = (ProgressBar) findViewById(R.id.loading);
    spinner.setVisibility(View.VISIBLE);
    Image.setImageUrl(mUrl);
    spinner.setVisibility(View.GONE);
}

2 ответа

Вы можете иметь OnCompleteListener() на smartImageView

Так что используйте это так.

// start the progress dialog

    smartImageView.setImageUrl("Your image url", new OnCompleteListener() {

                @Override
                public void onComplete() {
                    // TODO Auto-generated method stub

                    // end the progress dialog

                }
            });

Я не знаком с SmartImageView, но вы, вероятно, хотите, чтобы установить изображение заполнителя в SmartImageView и затем замените его после завершения загрузки изображения. поочередно вы хотите отобразить представление загрузки поверх imageView во время загрузки изображения и получить прослушиватель, который сообщит вам, когда загрузка будет завершена.

Взгляните на библиотеку Picasso, так как она делает именно это, и она чрезвычайно проста в использовании (1 строка) и позволяет вам определять изображение заполнителя, изображение ошибки, затухание анимации и слушателя, чтобы иметь настраиваемые действия на основе результата загрузки.

Другие вопросы по тегам