中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ImageView的加載進度顯示

發布時間:2024-08-20 16:05:19 來源:億速云 閱讀:81 作者:小樊 欄目:移動開發

如果想在ImageView中加載圖片時顯示加載進度,可以使用ProgressDrawable來實現。ProgressDrawable是一個Drawable,它可以顯示加載進度。以下是一個示例代碼:

首先,創建一個ProgressDrawable類來實現加載進度的顯示:

public class ProgressDrawable extends Drawable {
    private Paint paint = new Paint();
    private int progress = 0;

    public ProgressDrawable() {
        paint.setColor(Color.BLUE);
    }

    @Override
    public void draw(@NonNull Canvas canvas) {
        // 繪制進度條
        Rect bounds = getBounds();
        int width = (int) (bounds.width() * progress / 100f);
        canvas.drawRect(0, 0, width, bounds.height(), paint);
    }

    @Override
    public void setAlpha(int alpha) {
        paint.setAlpha(alpha);
    }

    @Override
    public void setColorFilter(ColorFilter colorFilter) {
        paint.setColorFilter(colorFilter);
    }

    @Override
    public int getOpacity() {
        return PixelFormat.OPAQUE;
    }

    public void setProgress(int progress) {
        this.progress = progress;
        invalidateSelf();
    }
}

然后,在加載圖片時,通過設置ImageView的drawable為ProgressDrawable,并在加載圖片時更新進度:

ImageView imageView = findViewById(R.id.imageView);
ProgressDrawable progressDrawable = new ProgressDrawable();
imageView.setImageDrawable(progressDrawable);

Glide.with(context)
    .load("your_image_url")
    .listener(new RequestListener<Drawable>() {
        @Override
        public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
            return false;
        }

        @Override
        public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
            // 圖片加載完成,設置進度為100%
            progressDrawable.setProgress(100);
            return false;
        }
    })
    .into(imageView);

這樣,在加載圖片時,會在ImageView中顯示一個藍色的進度條,隨著圖片加載進度的增加而增長,直到圖片加載完成。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐亭县| 涡阳县| 三门县| 禹城市| 民县| 高雄市| 宜宾县| 辉南县| 阳原县| 宣汉县| 兴城市| 涟水县| 枝江市| 台江县| 普定县| 台东县| 新平| 固原市| 壶关县| 乌审旗| 大洼县| 汝州市| 三门县| 繁昌县| 诸暨市| 松原市| 那曲县| 师宗县| 安达市| 麻栗坡县| 马尔康县| 保山市| 萝北县| 洱源县| 平潭县| 湄潭县| 大石桥市| 高州市| 大同县| 金乡县| 阿瓦提县|