Как отобразить индикатор выполнения для макета, пока не загружен 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 строка) и позволяет вам определять изображение заполнителя, изображение ошибки, затухание анимации и слушателя, чтобы иметь настраиваемые действия на основе результата загрузки.