-
Notifications
You must be signed in to change notification settings - Fork 1
PicassoExtensions
燒餅 edited this page Jun 1, 2017
·
4 revisions
PicassoExtensions 是来自 moe.feng.kotlinyan:kotlinyan-picasso-support 模块的扩展。
引入了强大的异步加载图片框架 Picasso。
当你想要从一个地址中加载图片是, 在 Java 上使用 Picasso 的写法是这样的:
Picasso.with(context).load("http://wx1.sinaimg.cn/large/6f76b6dagy1fg5rg39y07j20r80hskbd.jpg").into(imageView);引入扩展的 Kotlin 可以这样写:
imageView.loadUrl = "http://wx1.sinaimg.cn/large/6f76b6dagy1fg5rg39y07j20r80hskbd.jpg"是不是简便多了?
除了传入 String 地址让 Picasso 进行加载,还可以使用 Uri 或者 File。
比如:
imageView.loadUri = targetUri // 使用 Uri
imageView.loadFile = File(externalPath) // 使用 File如果想要传入 Picasso 回调,可以这样赋值,PicassoExtensions 会使用 View 的 Tags 存放回调在加载时会自动传给 Picasso:
imageView.picassoCallback = object : Callback { ... }如果你使用上述方法加载图片,在传入图片位置前调用 imageView.enableMaterialPicassoAnimation() 即可。(会覆盖 picassoCallback)
如果你坚持使用 Picasso 原有的链式函数调用,可以将 into() 替换为 intoMaterialStyle()。(这个方法支持额外的回调)
渐变动画的实现使用了 florent37/MaterialImageLoading。