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

群晖可以做网站服务器今日国内新闻大事20条

群晖可以做网站服务器,今日国内新闻大事20条,lamp安装wordpress,wordpress 站点地址文章目录 Android Coil总结概述添加依赖用法基本用法占位图变形自定义ImageLoader取消加载协程支持缓存清除缓存监听 简单封装 Android Coil总结 概述 Coil 是一个用于 Android 的 Kotlin 图像加载库,旨在简化图像加载和显示的过程。它基于 Kotlin 协程&#xff0…

文章目录

  • Android Coil总结
    • 概述
    • 添加依赖
    • 用法
      • 基本用法
      • 占位图
      • 变形
      • 自定义ImageLoader
      • 取消加载
      • 协程支持
      • 缓存
      • 清除缓存
      • 监听
    • 简单封装

Android Coil总结

概述

Coil 是一个用于 Android 的 Kotlin 图像加载库,旨在简化图像加载和显示的过程。它基于 Kotlin 协程,提供了简洁的 API 和高效的性能。

添加依赖

implementation "io.coil-kt:coil:2.4.0"

用法

基本用法

// 加载网络图片
binding.imageView1.load("https://www.wanandroid.com/resources/image/pc/logo.png")// 加载本地资源图片
binding.imageView2.load(R.drawable.logo)// 加载本地路径图片
val file = File(cacheDir.path + "/logo.png")
binding.imageView3.load(file)

占位图

binding.imageView1.load(imgUrl) {crossfade(true) // 淡入淡出placeholder(R.drawable.placeholder) // 加载时占位error(R.drawable.error) // 加载失败占位
}

变形

binding.imageView1.load(imgUrl) {transformations(CircleCropTransformation()) // 圆形
}
binding.imageView2.load(imgUrl) {transformations(RoundedCornersTransformation(16F)) // 圆角
}

自定义ImageLoader

val imageLoader = ImageLoader.Builder(context).crossfade(true).build()
val request = ImageRequest.Builder(context).data(imgUrl).target(binding.imageView1).build()
imageLoader.enqueue(request)

取消加载

val disposable = binding.imageView1.load(imgUrl)
disposable.dispose() // 取消加载

协程支持

Coil 基于 Kotlin 协程,可以协程中使用。

lifecycleScope.launch {val imageLoader = context.imageLoaderval request = ImageRequest.Builder(context).data(imgUrl).build()val drawable = imageLoader.execute(request).drawablebinding.imageView1.setImageDrawable(drawable)
}

缓存

binding.imageView1.load(imgUrl) {diskCachePolicy(CachePolicy.ENABLED) // 启用磁盘缓存memoryCachePolicy(CachePolicy.ENABLED) // 启用内存缓存
}

清除缓存

val imageLoader = context.imageLoader
imageLoader.memoryCache?.clear()
imageLoader.diskCache?.clear()

监听

binding.imageView1.load(imgUrl) {listener(onStart = { Log.e("TAG", "开始") },onSuccess = { request, result -> Log.e("TAG", "成功") },onError = { request, result -> Log.e("TAG", "失败") },onCancel = { Log.e("TAG", "取消") })
}

简单封装

object CoilImageLoader {private lateinit var imageLoader: ImageLoader// 初始化 Coil 的 ImageLoader// 可以在Application中初始化fun init(context: Context) {imageLoader = ImageLoader.Builder(context).crossfade(true) // 启用淡入淡出效果.build()}// 加载网络图片fun loadImage(imageView: ImageView, url: String) {imageView.load(url, imageLoader) {placeholder(R.drawable.placeholder) // 设置占位图error(R.drawable.error) // 设置错误图}}// 加载圆形图片fun loadCircleImage(imageView: ImageView, url: String) {imageView.load(url, imageLoader) {transformations(CircleCropTransformation()) // 圆形裁剪}}// 加载圆角图片fun loadRoundedCornersImage(imageView: ImageView, url: String, radius: Float) {imageView.load(url, imageLoader) {transformations(RoundedCornersTransformation(radius)) // 圆角}}// 清除内存缓存fun clearMemoryCache() {imageLoader.memoryCache?.clear()}// 清除磁盘缓存fun clearDiskCache(context: Context) {imageLoader.diskCache?.clear()}
}
http://www.dtcms.com/wzjs/135385.html

相关文章:

  • 新乡微网站建设seo一个月工资一般多少
  • vs2017建设网站线下推广的渠道和方法
  • 微信订阅号 网站开发常州网站建设优化
  • wordpress占用cpu过高aso优化运营
  • 合肥网站推广培训微信广告推广价格表
  • 哪种网站语言最好云南省最新疫情情况
  • 绿色在线网站模板下载三只松鼠软文范例500字
  • 常用的网页编辑工具有哪些seo网站推广如何做
  • 网站建设与开发做什么成人职业技术培训学校
  • 企业网站建设方案 ppt搜狗站长平台验证网站
  • 简单的网站代码网站快速排名优化报价
  • 后台模板链接前台网站网站怎么制作教程
  • 微信建立免费网站免费刷推广链接的软件
  • 湖南手机版建站系统哪个好可口可乐营销策划方案
  • wordpress category name南京seo优化培训
  • 网站开发中所需要的绘图工具微信推广平台
  • 做网站如何导入信用卡付款低价刷粉网站推广
  • 攀枝花网站建设兼职seo在线培训
  • 制作网站制作网站建设的新闻投稿平台
  • 工作人员否认陈道明演庆余年2搜索引擎优化心得体会
  • 南宁网站建设哪家好公司广告推广
  • 外贸b2b网站大全排名网站推广优化流程
  • 做一个平台网站要多少钱营销推广方式都有哪些
  • 加快建设乡镇招商网站怎么在百度上做广告推广
  • 成都建设网站首页seo学徒招聘
  • b站可以付费推广吗百度网游排行榜
  • 常德做网站建设的公司江苏搜索引擎优化
  • 在澳大利亚 做网站生意怎样北京专业seo公司
  • 六安建设机械网站谷歌广告代运营
  • 网站空间ftp下载慢如何做电商赚钱