当前位置: 首页 > article >正文

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

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.kler.cn/a/390760.html

相关文章:

  • MySql结合element-plus pagination的分页查询
  • 2024年11月13日
  • k8s集群安装(kubeadm)
  • 微信小程序=》基础=》常见问题=》性能总结
  • 算法——二分查找(leetcode704)
  • 一文详解java的数据类型
  • 【LeetCode】【算法】5. 最长回文子串
  • docker——项目部署
  • LabVIEW车辆侧翻预警系统
  • 工位管理革新:Spring Boot企业级系统
  • SpringBoot沙箱环境支付宝支付
  • C# 阿里云短信接口调用(不使用SDK,单文件完成)
  • Spring Spring Boot 常用注解总结
  • 前端零基础学习Day-Eight
  • 使用 Java 将 byte[] 转换为 File 对象并上传到外部服务器
  • 【已解决】Postman:Get请求传JSON数据
  • Kafka面试题(三)
  • html的week控件 获取周(星期)的第一天(周一)和最后一天(周日)
  • Pandas | 数据分析时将特定列转换为数字类型 float64 或 int64的方法
  • scikit-learn学习Day30
  • Java基础08(类与对象)
  • Java字符串的处理
  • SSE (Server-Sent Events) 服务器实时推送详解
  • 力扣-Hot100-哈希【算法学习day.30】
  • HTMLCSS: 日落卡片
  • MySQL核心业务大表归档过程