首页 > 其他分享 >Android Glide加载图片时,基于图片宽高比自动伸缩ImageView高度

Android Glide加载图片时,基于图片宽高比自动伸缩ImageView高度

时间:2024-09-03 10:16:07浏览次数:5  
标签:resource Glide int context imageView ImageView 宽高比 图片

ImageView布局

    <ImageView
        android:id="@+id/iv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

代码实现

GlideUtil.java

/**
     * 加载图片,支持高度伸缩
     * @param context 上下文
     * @param url 图片地址
     * @param imageView 图片组件
     */
    public static void loadScaleImage(Context context,
                                      String url,
                                      final ImageView imageView) {
        Glide.with(context)
                .asBitmap()
                .load(url)
                .error(R.drawable.default_stand_bg)
                .into(new CustomTarget<Bitmap>() {
                    @Override
                    public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                        int imageWidth = resource.getWidth();
                        int imageHeight = resource.getHeight();

                        // 计算ImageView 的高度
                        int imageViewWidth = imageView.getWidth();
                        int imageViewHeight = (int) ((float) imageViewWidth / imageWidth * imageHeight);

                        // 设置ImageView 的高度
                        ViewGroup.LayoutParams params = imageView.getLayoutParams();
                        params.height = imageViewHeight;
                        imageView.setLayoutParams(params);

                        //将图片显示在 ImageView 中
                        imageView.setImageBitmap(resource);
                    }

                    @Override
                    public void onl oadCleared(@Nullable Drawable placeholder) {
                        // 可选的清除操作
                    }
                });
    }

代码调用

ImageVIew iv = findViewById(R.id.iv_painting);
GlideUtil.loadScaleImage(context, paintingInfo.getUrl(), iv);

标签:resource,Glide,int,context,imageView,ImageView,宽高比,图片
From: https://www.cnblogs.com/qixingchao/p/18394038

相关文章

  • 前端实现图片压缩(干货总结)
    ⚠️⚠️文前推荐一下......
  • 添加和读取图片的exif信息
    添加经纬度信息和自定义字段#import<ImageIO/ImageIO.h>-(NSData*)addExifDataToImage:(NSData*)imageDatawithLatitude:(double)latitudelongitude:(double)longitudecustomField:(NSString*)customFieldValue{//创建图片数据源CGImageSourceRefsource=......
  • 前端实现图片压缩(干货总结)
    前端实现图片压缩方案总结前文提要1.使用HTML5的`<canvas>`元素步骤概述:示例代码:2.利用第三方库(推荐)使用image-magic-adapter示例:3.gif图片压缩(拓展)node压缩gif实现如下:注意事项⚠️⚠️文前推荐一下......
  • [vue] jszip html-docx-js file-saver 图片,纯文本 ,打包压缩,下载跨域问题
    npminstalljszipfile-saverimportJSZipfrom'jszip';importFileSaverfrom'file-saver';JSZip创建JSZip实例:constzip=newJSZip();创建文件:支持导出纯文本zip.file("hello.txt","HelloWorld\n");创建文件夹:zip.folder("file")......
  • 用Obsidian的你一定不能忽略的图片保存问题
    文章目录问题来源......
  • 你还在为去除图片背景烦恼吗?试试这两款免费神器吧!
    今天想和大家聊聊在生活工作中特别实用的小工具,与“抠图”强相关的两款AI工具!说到这2个工具,真是忍不住要为大家强烈推荐一番!他们俩就是:PixianAI、Removerized先说说背景去除这件事儿无论你是设计师、摄影师,还是日常喜欢在社交媒体上分享美图的小伙伴,背景去除这个需求一......
  • 点击后隐藏图片,再次点击显示是否有方法实现?
    你可以使用JavaScript来实现这个功能。以下是一个简单的示例:<!DOCTYPEhtml><html><body><imgid="myImage"src="image.jpg"onclick="toggleImage()"><script>functiontoggleImage(){varimage=documen......
  • 用photoshop给图片批量加水印
    一、打开动作窗口菜单栏窗口→勾选动作二、开始记录动作打开任意一张要增加水印的图片在动作窗口中,点击右下角的新建动作图标,开始记录菜单栏文件→嵌入智能对象,选择水印文件调整水印图片的位置,根据需要调整其透明度ctrl+shift+S,存储为jpg文件关闭图片,停止......
  • 可能引起画面gif图片显示掉帧的问题
    以下内容针对在IE11浏览器的情况,其他edge,chrome可能有些微差别。GIF文件本质上是一个包含多帧静态图片的动画文件。当GIF播放时,浏览器只需按顺序显示这些帧,从而产生动画效果。GIF动画帧切换过程:解码GIF文件:当GIF被加载时,浏览器会解码GIF文件,提取出每一帧的图像数据。每帧都是......
  • Python 图片去重,删除重复图片
    删除文件夹中相似图片的任务比较复杂,因为需要定义“相似”的标准,并且这通常涉及到图像内容分析。一种常见的做法是使用图像哈希(如感知哈希、平均哈希等)来比较图像之间的相似度。在Python中,可以使用一些库如Pillow(PIL的更新版)来处理图像,以及ImageHash库来生成图像哈希。下面......