-
Notifications
You must be signed in to change notification settings - Fork 1
GlideExtensions
燒餅 edited this page Jun 3, 2017
·
1 revision
GlideExtensions 是来自 moe.feng.kotlinyan:kotlinyan-glide-support
模块的扩展。
引入了强大的异步加载图片框架 Glide。
当你想要从一个地址中加载图片时, 在 Java 上使用 Glide 的写法是这样的:
Glide.with(context).load("http://wx1.sinaimg.cn/large/6f76b6dagy1fg5rg39y07j20r80hskbd.jpg").into(imageView);
引入扩展的 Kotlin 可以这样写:
imageView.loadUrl = "http://wx1.sinaimg.cn/large/6f76b6dagy1fg5rg39y07j20r80hskbd.jpg"
是不是简便多了?
除了传入 String 地址让 Glide 进行加载,还可以使用 Uri 或者 File。
比如:
imageView.loadUri = targetUri // 使用 Uri
imageView.loadFile = File(externalPath) // 使用 File
如果想要传入 Glide 回调,可以这样赋值,GlideExtensions
会使用 View 的 Tags 存放回调在加载时会自动传给 Glide:
imageView.glideListener = object : RequestListener<*, Drawable> { ... }
Kotlinyan 扩展了 ImageView 属性 placeholderResource : Int
& placeholder : Drawable
。
当你想在 Glide 加载时显示 Placeholder 只需设置这两个属性其中之一即可。
如果 GlideExtensions 提供的扩展属性还不能满足需求,希望能够直接获得 GenericRequestBuilder 进行设置,则需要用到 ImageView.glideBuilderTransform
。
例如:
imageView.glideBuilderTransform {
...
animate(android.R.anim.fade_in)
diskCacheStrategy(DiskCacheStrategy.ALL)
}