Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin

news2024/11/25 7:04:33

Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin

 

 

import android.graphics.Bitmap
import android.os.Bundle
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import com.bumptech.glide.Glide
import com.bumptech.glide.load.DataSource
import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val image = findViewById<ImageView>(R.id.image)

        val thumbReq = Glide.with(this)
            .asBitmap()
            .load(R.mipmap.ic_launcher)
            .apply(RequestOptions.centerCropTransform())
            .placeholder(android.R.color.holo_green_light)
            .override(200)

        Glide.with(this)
            .asBitmap()
            .thumbnail(thumbReq)
            .apply(RequestOptions.centerCropTransform())
            .load(android.R.drawable.ic_menu_gallery)
            .placeholder(android.R.color.holo_orange_light)
            .override(200)
            .transition(BitmapTransitionOptions.withCrossFade(5000)).addListener(object : RequestListener<Bitmap> {
                override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Bitmap>, isFirstResource: Boolean): Boolean {
                    return false
                }

                override fun onResourceReady(
                    resource: Bitmap,
                    model: Any,
                    target: Target<Bitmap>?,
                    dataSource: DataSource,
                    isFirstResource: Boolean
                ): Boolean {
                    //val cd = ColorDrawable(Color.RED)
                    //image.setImageDrawable(cd)

                    return false
                }
            })
            .into(image)
    }
}

 

 

运行后:

d6b8f605eaf34e778945ee37b6f4127e.png

 

 

如果把onResourceReady里面的:

                    //val cd = ColorDrawable(Color.RED)
                    //image.setImageDrawable(cd)

注释打开:

                    val cd = ColorDrawable(Color.RED)
                    image.setImageDrawable(cd)

再跑:

e9fc0dcb220c4c60bd71eee5fba88270.png

 

基于此,此时,如果把onResourceReady里面原先的return false修改为return true:

return true

整个屏幕全部都是红色RED:

a3d2f13481b149579651428cf245d5de.png

 

 

 

 

 

Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin_android glide 加载圆形-CSDN博客文章浏览阅读883次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的帮助,可以轻松的以Android标准方式实现圆角图形图象。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。所实现的在Kotlin动态代码中绘制的描边效果。_android glide 加载圆形https://blog.csdn.net/zhangphil/article/details/134297059Android Glide裁剪centerCrop到fitCenter,复用内存缓存Bitmap加工TransformationUtils.fitCenter,Kotlin_glide fitcenter-CSDN博客文章浏览阅读1.3k次,点赞27次,收藏23次。本文讲述了如何在Android应用中,利用Glide库处理中心裁剪(centerCrop)到适应中心(fitCenter)的需求,通过复用内存中的Bitmap来提高性能,避免重复解码,尤其在初次解码后快速调整图像展示方式。https://blog.csdn.net/zhangphil/article/details/137604875

Android Glide transform旋转rotate圆图CircleCrop,Kotlin_android glide旋转-CSDN博客文章浏览阅读728次。引入: implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'Android标准Glide加载圆形图和圆角矩形图_android glide加载圆角-CSDN博客。Glide transform CircleCrop()圆图,Kotlin。Glide transform CircleCrop()圆图,Kotlin-CSDN博客。_android glide旋转https://blog.csdn.net/zhangphil/article/details/134149022

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…

嵌入式新手必读好文,常见传感器类型中,LM393的作用,及模块原理(看不懂来问我)!!!

目录 序言 常感器基本知识 常见传感器原理 D0引脚的作用 如何设置电位器 欢迎指正&#xff0c;希望对你&#xff0c;有所帮助&#xff0c;禁止搬运&#xff01;&#xff01;&#xff01; 前言&#xff1a;编写不易&#xff0c;请问搬运&#xff0c;仅供学习&#xff0c;有…

机器学习2_支持向量机_线性可分——MOOC

目录 定义 线性可分&#xff08;Linear Separable&#xff09; 线性不可分&#xff08;Nonlinear Separable&#xff09; 数学化定义 问题描述 优化问题 线性可分定义 假定训练样本集是线性可分的 1、最小化&#xff08;Minimize&#xff09;&#xff1a; 2、限制条件…

git 工具原理

git 目录 git git的使用 了解git的三个区域 具体操作 如何下载别人上传到git的工程 -- 可以参考菜鸟教程&#xff0c;包括安装配置git Git 安装配置 | 菜鸟教程 -- Git 是一种分布式版本控制系统&#xff0c;用于管理软件项目的源代码。它是由 Linux 之父 Linus Torval…

MAN TruckScenes数据集:第一个用于自动驾驶卡车的大规模多模式数据集。

2024-07-15,为了推进自动驾驶卡车技术的发展并确保其在公共道路上的安全性&#xff0c;由慕尼黑工业大学和MAN Truck & Bus SE联合创建了MAN TruckScenes数据集。数据集首次为研究社区提供了一个包含丰富环境条件下的卡车特定挑战&#xff0c;如拖车遮挡、新型传感器视角和…

基于微信小程序的实习管理系统(附源码,文档)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

mp3格式音频怎么做成二维码?扫码获取音频文件的制作方法

随着二维码的广泛使用&#xff0c;现在很多内容都会通过生成二维码的方式来传输内容&#xff0c;通过这种方式可以更快捷的实现内容分享&#xff0c;简化其他人获取内容的流程&#xff0c;有效提高效率。音频是目前常见的一种内容分享方式&#xff0c;比如录音、听力、音乐等类…

山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构建议

自从YY、六间房开启国内聊天室和秀场等网红盛行的网络红利时代以来&#xff0c;紧随其后国内各大音视频平台相应出现&#xff0c;先有映客花椒等直播平台的风头正劲&#xff0c;后有功能板块更丰富的头条抖音Tiktok等&#xff0c;盈利功能点不仅仅有直播PK连麦等礼物打赏功能&a…

【NOIP普及组】统计单词数

【NOIP普及组】统计单词数 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 一般的文本编辑器都有查找单词的功能&#xff0c;该功能可以快速定位特定单词在文章中的位置&#xff0c;有的还能统计出特定单词在文章中出现的次数。 现在&#x…

ArkTs语言常用数据类型和使用说明及示例(9种常用,7种非常用)

具体请前往&#xff1a;ArkTs语言基本数据类型及使用说明--包括9种常用变量类型和7种非常用类型

“双十一”电商狂欢进行时,在AI的加持下看网易云信IM、RTC如何助力商家!

作为一年一度的消费盛会&#xff0c;2024年“双十一”购物狂欢节早已拉开帷幕。蹲守直播间、在主播热情介绍中点开链接并加购&#xff0c;也已成为大多数人打开“双11”的重要方式。然而&#xff0c;在这火热的购物氛围背后&#xff0c;主播频频“翻车”、优质主播稀缺、客服响…

机器学习中的分类:决策树、随机森林及其应用

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

ETL架构怎么选?全量、增量还是实时流式?

一、 ETL &#xff1a; 基本定义&#xff1a;ETL 是将业务系统的数据经过抽取&#xff08;Extract&#xff09;、清洗转换&#xff08;Transform&#xff09;之后加载&#xff08;Load&#xff09;到数据仓库的过程&#xff0c;目的是将企业中分散、零乱、标准不统一的数据整合…

特色3D打印机stm32迷你8轴双核心主板

我自己设计的3D打印机主板 1. 这是一块迷你的8轴主板, 主板尺寸为100mm*75mm, 使用一个8cm静音风扇散热足够了2. 这是一个带有保护的板子, 驱动上的gpio具有过压保护功能, 能够直接抗住24V的冲击, 意味着一个驱动炸了, 板子不烧, 并且其他的驱动也没事, 主板支持自动关机3. 8…

【2】GD32H7xx 串口Idle + DMA接收不定长数据

目录 1. IDLE中断相关介绍2. D-Cache与DMA同时使用2.1 I-Cache与D-Cache2.2 D-Cache与DMA同时使用时的数据一致性问题2.2.1 CPU读取DMA写入到SRAM的数据2.2.2 DMA读取CPU写入到SRAM的数据 3. Uart Idle DMA收发程序4. 程序测试 1. IDLE中断相关介绍 在 GD32H7xx MCU 中&#…

证书学习(六)TSA 时间戳服务器原理 + 7 个免费时间戳服务器地址

目录 一、简介1.1 什么是时间戳服务器1.2 名词扩展1.3 用时间戳标记顺序1.4 7 个免费TSA时间戳服务器地址(亲测可用)1.5 RFC 3161 标准二、时间戳原理2.1 时间戳服务工作流程2.2 验证工作流程2.3 举个例子2.4 时间戳原理总结三、代码实现3.1 curl 命令请求时间戳3.2 java 代码…

一步一步从asp.net core mvc中访问asp.net core WebApi

"从asp.net core mvc中访问asp.net core WebApi"看到这个标题是不是觉得很绕口啊&#xff0c;但的确就是要讲一讲这样的访问。前面我们介绍了微信小程序访问asp.net core webapi(感兴趣的童鞋可以看看前面的博文有关WEBAPI的搭建)&#xff0c;这里我们重点不关心如何…

信捷 XD PLC C语言 FB和FC 不同

信捷 XD PLC 的C语言下 FB和FC 的使用&#xff0c;如果你有困惑&#xff0c;本文可能会帮到你&#xff01; 调用FB要带后缀_Body的&#xff0c;这个地方很容易忽视和出错。 不同之处FBFC可以在全局变量表中建立此类型对象可以1个&#xff0c;也可以多个不可以参数类型及数量有…

「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现

本篇将带你实现一个滑动选择器应用&#xff0c;用户可以通过滑动条选择不同的数值&#xff0c;并实时查看选定的值和提示。这是一个学习如何使用 Slider 组件、状态管理和动态文本更新的良好实践。 关键词 UI互动应用Slider 组件状态管理动态数值更新用户交互 一、功能说明 在…

共享汽车管理:SpringBoot框架的高效实现

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足&#xff0c;创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…