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

相关推荐
呆呆敲代码的小Y2 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
思想觉悟4 小时前
SEAndroid实战
android·linux·c++
思想觉悟4 小时前
Aosp开发磨刀石之ADB速查
android·c++
应用市场6 小时前
用本机跑的开源音乐模型,给安卓小游戏做 20 秒无缝循环背景音乐
android·python·游戏开发·soundpool·音频处理
企业数字化笔记6 小时前
表单发布前怎么验收?版本引用、字段兼容和历史数据回归
android·数据挖掘·回归
生信分析笔记6 小时前
Nature 正刊 GPN-Star 基因组语言模型
android
渣渣盟6 小时前
Flink 状态管理深度剖析:从 KeyedState 到 RocksDB,状态如何存储、恢复与扩缩容
android·大数据·flink
avi91117 小时前
电影开源Jevdo - 源码介绍(vue版)没有android 和 没有wpf
android·wpf·框架·数据爬虫·meego·电影管理
OxYGC7 小时前
[工程] PHP2Shell 漏洞解析:两条 PHP 内核 RCE,为什么应用层的防护全部失效
android·开发语言·php
拥小抱1 天前
Compose 知识点
android