Glide获取网络图片宽高,并动态设置图片宽高

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更效! 阅读详情


因Android手机屏幕尺寸较多,当imageview宽设置match_parent,高固定时。会导致图片拉伸或裁剪。目前可通过获取图片宽高,动态设置imageview宽高比例,等比例缩放图片。

布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/img"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter" />

</RelativeLayout>

获取宽高并动态设置宽高:

private int width,height;
//通过Glide获取网络图片宽高
Glide.with(this)
        .asBitmap()
        .load(imgUrl)
        .into(new CustomTarget<Bitmap>() {
            @Override
            public void onResourceReady(@NonNull Bitmap bitmap, @Nullable Transition<? super Bitmap> transition) {
                width = bitmap.getWidth();
                height = bitmap.getHeight();
                Log.d(TAG, "width " + width);
                Log.d(TAG, "height " + height);
            }

            @Override
            public void onLoadCleared(@Nullable Drawable drawable) {

            }
        });
        //动态设置宽高
        ViewGroup.LayoutParams lp = img.getLayoutParams();
        lp.width = getIntScreenWidth();
        lp.height = lp.width * height / width;
        img.setLayoutParams(lp);
        Glide.with(this).load(imgUrl).into(img);

    //获取屏幕宽高
    public static int getIntScreenHeight() {
        DisplayMetrics dm = getDisplayMetrics();
        return dm.heightPixels;
    }

    public static int getIntScreenWidth() {
        DisplayMetrics dm = getDisplayMetrics();
        return dm.widthPixels;
    }

Android知识点——Glide获取图片 先扯两句   先很负责任的说一下,这个内容也是百度来的,但是很不负责任的是,当初只记录解决方案,忘了记录是查看的哪篇博客了,这里先对不知道借鉴的谁表示感谢。无法分享链接,就厚着脸皮把(转)字去掉了,请大家谅解。   先提供一下Android知识点——目录的链接,然后让我们进入正题。 正文   实际上,这篇博客所说的内容不是所有人都可以用到,毕竟大多数时候,我们只需要展示图片,而不需要知道图片的... 阅读详情

相关推荐

Android开发:使用Glide动态加载圆形图片和圆角图片

最新消息,鼎鼎大名的Yelp应用也转投Glide的阵营了,而且Glide在跟Listview的配合起来非常的顺畅,Glide除了配置简单,还可以本地缓存图片,也可以实现Listview图片的提前加载,使得listview的更加的顺滑。但是如果碰到要把加载下来的图片转成圆角或者圆形的图片,怎么处理呢,Glide原生没有这个方法,这里有个简单的实现方法

weidongjian的专栏 6万+

Android利用Glide获取图片真正的的实例

前言 有时候需要获取网络图片设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片,但是这样拿到的不是图片真正的,而是图片显示在ImageView后的。如下: //获取图片显示在ImageView后的 Glide.with(this) .load(imgUrl) .asBitmap()//强制Glide返回一个Bitmap对象 .listener(new RequestListener() { @Override publ

利用Glide库实现Android动态加载等比例网络图片的技巧

Glide库通过提供一套简单易用的API,使得开发者可以轻松地加载网络、本地存储或资源文件中的图片到应用的ImageView组件中。其主要优势包括:效的图片缓存机制:Glide利用磁盘和内存缓存减少了图片加载时间,同时降低了内存和存储空间的消耗。流畅的图片加载体验:自动处理图片加载过程中的各种状态,如加载中、加载失败或图片占位符的显示。支持多尺寸图片加载:Glide可以自动处理不同尺寸的图片加载问题,确保图片按需加载,避免不必要的内存浪费。

weixin_32102617的博客 1135

Glide SimpleTarget 过时

想利用Glide获取图片 发现SimpleTarget方法已经过时了,百度了半天也没找到替代方法… 当前使用的Glide版本为: com.github.bumptech.glide:glide:4.11.0 SimpleTarget 已经过时了… 代替方法,此方法可以获取图片信息。 Glide.with(context) .asBitmap() .load(id) .into(new Cust

m0_37792384的博客 5789

Glide获取图片原始展示

场景需求:希望以图片的原始比进行缩放,实现即使在缩略图情况下,也能看到全图。且多张图片可水平滑动。 代码: //处理图片 private void dealWithPhoto() { //移除布局中已存在的视图 llPhoto.removeAllViews(); for (int i = 0; i < photos.size...

蓝泉的博客 6136

Android 处理度大于度的图片显示不全的问题

前言 项目中想利用glide加载url的方式拿到图片的具体尺寸 在用到asBitmap()方法时 报错 提示没有该方法 本来以为是版本的问题 调回4.0也还是没有这个方法 最后找到这个方法 可以获取资源 Glide.with(this).asBitmap().load(imaUrl).into(new SimpleTarget<Bitmap>() { @Override public void onResource

吕氏春秋i 1350

关于Glide加载图片模糊不清楚

通过Glide加载图片图片显示不清楚

一站到底s的博客 3153

图片加载之Glide使用

Glide的基本用法

一花一世界的博客 2万+

Glide等比例动态加载网络图片

Glide动态加载等比例网络图片方法11.1设置ImageView布局 <ImageView android:id="@+id/load_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 1.2获取图片Glide.with(mContext).

forwardyzk的专栏 5381

关于启动页面动态获取网络图片url进行展示的处理

描述: 启动页 只是展示一张图片   这个图片是从网络获取的 需要动态改变 启动页只存活2s 就跳转 把自己finish掉 解决: 1.进入页面后 先从sp中取  网络图片的url   默认给个“”   然后使用Glide.with(this).load(url).placeholder(R.mipmap.xxx).into(iv); 如果是""  会默认显示  资源图片    不为

XiFangzheng的博客 2319

Glide加载网络图片出现模糊问题

项目中使用glide框架加载网络图片到ImageView中出现了模糊,仔细检查后才发现是设置ImageView大小导致的,我的RecyclerView度是屏幕度,里面的Adapter是将item度均分为3等分即new GridLayoutManager,然后item的视图的父布局是LinearLayout,度全屏度包裹内容,子布局就一个ImageView度是全屏度是包裹内容,当我获得...

Android爬坑牛奶糖的博客 5227

Glide图片加载方案

Glide

安妍妍的博客 1769

加载网络图片Glide+圆角 fragment的动态添加 底部图标点击选中

加载网络图片Glide+圆角 fragment的动态添加 底部图标点击选中

qq_58451437的博客 2230

android ImageView网络图片加载、动态设置尺寸、圆角..

第一种方法转载自:android ImageView网络图片加载、动态设置尺寸、圆角.. - L-H - 博客园 package com.example.hangliao.oneyuanrecharge.helper; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.graphics.Canvas; i

ulddfhv的专栏 3430

Glide图片加载及三级缓存

Glide源码详解: http://blog.csdn.net/yulyu/article/details/60331803 Glide是google推荐的图片加载框架,他不仅性能,功能强大,而且调用起来非常简单。 一.Glide的构造 Glide是通过GlideBuilder中的createGlide方法生成的(核心代码如下) Glide的构造参数主要有四个,都是通过createGl...

weixin_44043199的博客 1532

网络图片精准裁剪实战:SuperImageView 搭配 Glide 加载图片的完整方案

Android 开发的你,是否遇到过这样的场景:从服务器拉回来的网络图片尺寸五花八门,而 UI 却要求"只保留图片的顶部"或"固定显示右侧内容"?系统自带的 `centerCrop` 只能居中裁剪,完全无法满足需求。**SuperImageView** 正是为解决这一痛点而生的开源库——它给 ImageView 增加了多方位精准裁剪能力,且能与 Glide 无缝配合加载网络图片。本文将带你从

gitblog_00656的博客 740

Android 动态获权+Glide图片加载+缓存SharedPreferences使用

1.首先在module下的build中添加依赖包 dependencies { .... //图片加载框架 implementation 'com.github.bumptech.glide:glide:3.6.1' implementation 'com.zhihu.android:matisse:0.5.2' } 2.由于使用动态获权,则需要在AndroidManifest中添加相应的权限 <uses-permission android:nam

yyxhzdm的博客 894

Glide 加载 七牛 动态url 图片缓存

Glide 是谷歌推荐的Android 图片加载框架,他的优点不用多说。随着云服务的兴起,七牛的图片存储也逐渐被大众所接受,然而,部分图片为了存储的安全性,七牛采用了动态 token 生成 图片url 的做法,通常情况下,图片加载框架是以图片的URL 为缓存的唯一标识的,Glide 也不例外,

longtaoge的专栏 3719
上一篇: Android okhttp3设置代理(http/https)
下一篇: MqttAndroidClient使用
cbxboy163
博客等级 码龄11年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值