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

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

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)
    }
}

运行后:

如果把onResourceReady里面的:

Kotlin 复制代码
                    //val cd = ColorDrawable(Color.RED)
                    //image.setImageDrawable(cd)

注释打开:

Kotlin 复制代码
                    val cd = ColorDrawable(Color.RED)
                    image.setImageDrawable(cd)

再跑:

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

Kotlin 复制代码
return true

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

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

相关推荐
weiggle16 分钟前
第七篇:状态提升与单向数据流——架构设计的核心
android
xingpanvip21 分钟前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
goldenrolan29 分钟前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
AC赳赳老秦2 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
kiros_wang4 小时前
Android 常见面试题
android
货拉拉技术4 小时前
Hook植入日志协助定位问题方案
android
FlightYe4 小时前
Android投屏MirrorCast全链路
android
Ehtan_Zheng5 小时前
Kotlin const val vs val:字节码、性能与隐藏陷阱详解
android·kotlin
墨狂之逸才5 小时前
Android TV 垃圾应用清理指南
android
源来猿往5 小时前
记ffmpeg-8.1.1 之Android库编译(window)
android·ffmpeg