溫馨提示×

溫馨提示×

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

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

Android加載長圖時如何按寬度填充

發布時間:2021-10-29 16:20:04 來源:億速云 閱讀:289 作者:iii 欄目:編程語言

本篇內容介紹了“Android加載長圖時如何按寬度填充”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

使用庫

implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'

注意:不要放在ScrollView中,不然滑動可能會沖突。

那么加載長圖時,如何按寬度填充呢?

<com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:panEnabled="false"
        app:quickScaleEnabled="true"
        app:zoomEnabled="false" />
//下載圖片保存到本地
        Glide.with(this)
                .load(sUrl).downloadOnly(new SimpleTarget<File>() {
            @Override
            public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation) {
                // 將保存的圖片地址給SubsamplingScaleImageView,這里注意設置ImageViewState設置初始顯示比例
                imageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
                imageView.setMinScale(getFitWidthScale(resource));//最小顯示比例
                imageView.setMaxScale(getFitWidthScale(resource));//最大顯示比例(太大了圖片顯示會失真,因為一般微博長圖的寬度不會太寬)
                imageView.setImage(ImageSource.uri(Uri.fromFile(resource)), new ImageViewState(getFitWidthScale(resource), new PointF(0, 0), 0));
            }
        });
// 計算縮放比例
    private float getFitWidthScale(File file) {
        WindowManager wm = this.getWindowManager();
        float windowWidth = wm.getDefaultDisplay().getWidth();
        return windowWidth / getImageWidth(file);
    }
    private float getImageWidth(File file) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(file.getAbsolutePath(), options);
        return options.outWidth;
    }

“Android加載長圖時如何按寬度填充”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女