2014-09-16 41 views
9

Tôi đang cố gắng chèn vòng tròn tải chung làm trình giữ chỗ trong khi hình ảnh đang được tải bằng thư viện trình tải hình ảnh như Glide hoặc Picasso.Làm cách nào để bạn có thể sử dụng trình giữ chỗ tải là trình quay phim hoạt hình với trình tải hình ảnh như Glide, Picasso, v.v.

Tôi không thể cho cuộc sống của tôi tìm hiểu làm thế nào bạn có nghĩa vụ phải tạo một xoay có thể kéo từ xml.

Tôi đã thử sử dụng AnimationDrawable trong XML bằng cách tạo danh sách hoạt ảnh, nhưng nó thậm chí không hiển thị (thậm chí không tĩnh).

Tôi chỉ muốn có một vòng tròn đơn giản xoay tròn tất cả, tất cả trong xml có thể vẽ được, vì vậy tôi có thể chuyển id làm trình giữ chỗ cho trình tải hình ảnh của tôi. Nếu điều đó là không thể xin vui lòng cho tôi biết bây giờ, vì vậy tôi có thể tiết kiệm rất nhiều nghiên cứu :)

EDIT: Một số mã để làm cho nó rõ ràng hơn, tôi cần một drawable quay cho lệnh Glide này:

Glide.with(context) 
.load(imageUrl) 
.into(imageView) 
.placeHolder(R.drawable.spinning_loading_placeholder); 

Trong khi hình ảnh đang được tải một phần giữ chỗ có thể vẽ được sẽ hiển thị nơi hình ảnh sẽ sau đó. Tôi cần một cái có thể kéo được.

+2

Có một chủ đề https://github.com/bumptech/glide/issues/505 sẽ giúp? – CoolMind

+1

Hey CoolMind, cảm ơn câu trả lời! Tôi không chắc chắn, vì câu hỏi này là năm cũ, nhưng cảm ơn đã chỉ cho tôi đi đúng hướng, có vẻ hữu ích, có lẽ tôi sẽ quay lại câu trả lời của bạn một ngày và chắc chắn sẽ giúp người khác –

+0

A. Steenbergen, cảm ơn! Tôi hiểu rằng quá nhiều thời gian đã qua, xin lỗi. Tôi không có vấn đề này nhưng gần đây đã có một vấn đề với khả năng hiển thị ProgressBar (được giải quyết với http://stackoverflow.com/a/38849129/2914140). Cũng muốn đính kèm các liên kết này: http://stackoverflow.com/questions/35305875/progress-bar-while-loading-image-using-glide và https://github.com/bumptech/glide/issues/232. – CoolMind

Trả lời

0

Bạn có thể thêm phần tử ProgressBar vào XML bố cục của mình, sau đó hiển thị/ẩn thành phần này nếu cần. ProgressBar View được tích hợp sẵn và hoạt ảnh, không yêu cầu AnimationDrawable tùy chỉnh.

+2

Cảm ơn, nhưng đây không phải là những gì tôi cần. Tôi đang sử dụng thư viện tải hình ảnh trượt của bumbtech để tải danh sách hình ảnh từ máy chủ, trong khi hình ảnh đang tải một phần giữ chỗ có thể vẽ được hiển thị cho mọi hình ảnh nơi hình ảnh thực sẽ sau đó. Tôi muốn trình giữ chỗ này là hình tròn quay động để cho biết hình ảnh đang tải và tôi cần vòng tròn quay tròn này để có thể vẽ được, không có mã phụ như hoạt ảnh đối tượng hoặc hoạt ảnh trong mã. Tôi đã thêm một số mã để làm cho nó rõ ràng hơn. –

+2

Bạn đã bao giờ nhận được một giải pháp cho mối quan tâm này Doge? Cũng trong một ràng buộc tìm kiếm điều này ... –

0

Bạn có thể sử dụng một cái gì đó như thế này:

Glide.with(mContext).load(imageUrl).asBitmap().centerCrop().into(new BitmapImageViewTarget(vh.avatarImageView) { 

     @Override 
     public void onLoadStarted(Drawable placeholder) { 
       vh.avatarImageView.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_placeholder)); 
     } 

     @Override 
     public void onLoadFailed(Exception e, Drawable errorDrawable) { 
      vh.avatarImageView.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_failed_download)); 
     } 

     @Override 
     protected void setResource(Bitmap resource) { 
      RoundedBitmapDrawable circularBitmapDrawable = 
        RoundedBitmapDrawableFactory.create(mContext.getResources(), resource); 
      circularBitmapDrawable.setCircular(true); 
      vh.avatarImageView.setImageDrawable(circularBitmapDrawable); 
     } 
    }); 
Các vấn đề liên quan