Glide完成文件下載,并壓縮后顯示

build.gradle

    implementation "com.github.bumptech.glide:glide:4.9.0"

代碼部分:

    public void fetchImage(View view) {
        final ImageView carView = findViewById(R.id.iv);
        final String temp = getExternalCacheDir().getAbsolutePath() + "/abc.jpg";
        String url = "";
        url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1572796331763&di=678053d81344db34636ce5f62ae320d1&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F01f3cf5618cbd36ac7255b14dfafd4.jpg%401280w_1l_2o_100sh.jpg";
        Glide.with(this)
                .asFile()
                .load(url)
                .placeholder(android.R.drawable.ic_delete)
                .thumbnail(0.1f)//此縮略圖機(jī)制無(wú)法完成對(duì)下載圖片的壓縮
                .into(new CustomTarget<File>() {
                    @Override
                    public void onResourceReady(@NonNull File resource, @Nullable Transition<? super File> transition) {
                      //實(shí)現(xiàn)壓縮,并重新生成BitMap對(duì)象
                        Bitmap bitmap = BitmapFactory.decodeFile(resource.getAbsolutePath(), null);
                        try {
                            FileOutputStream out = new FileOutputStream(temp);
                            bitmap.compress(Bitmap.CompressFormat.JPEG, 4, out);
                            bitmap = BitmapFactory.decodeFile(temp);
                            out.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        carView.setImageBitmap(bitmap);
                    }

                    @Override
                    public void onLoadCleared(@Nullable Drawable placeholder) {
                    }
                });
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • http://www.itdecent.cn/p/7c288a17cda8 總的來(lái)說,Android的系統(tǒng)體系結(jié)...
    燕京博士閱讀 1,427評(píng)論 0 6
  • Android Studio正式版早已經(jīng)發(fā)布了,默認(rèn)使用Gradle構(gòu)建,GitHub上80%的Android項(xiàng)目...
    流哲羽閱讀 3,028評(píng)論 1 13
  • 為了使APK文件盡可能小,您應(yīng)該啟用縮小以刪除您的發(fā)布版本中未使用的代碼和資源。 下面描述如何做,以及如何指定在構(gòu)...
    小蕓論閱讀 1,333評(píng)論 0 5
  • 向您的項(xiàng)目添加 C 和 C++ 代碼 本文內(nèi)容 下載 NDK 和構(gòu)建工具 創(chuàng)建支持 C/C++ 的新項(xiàng)目 構(gòu)建和運(yùn)...
    會(huì)飛的大象_閱讀 3,924評(píng)論 0 3
  • 是什么? 在語(yǔ)法上是基于Groovy語(yǔ)言的(Groovy 是一種基于JVM的敏捷開發(fā)語(yǔ)言,可以簡(jiǎn)單的理解為強(qiáng)類型語(yǔ)...
    千山萬(wàn)水迷了鹿閱讀 99,989評(píng)論 4 122

友情鏈接更多精彩內(nèi)容