kotlin使用Glide 4.0.0
Gradle引用
repositories {
mavenCentral()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.0.0'
implementation 'com.android.support:support-v4:25.3.1'
}
这里使用 implementation 看郭大神的博客。
基础使用
在Activity和Fragment中直接使用。
Glide.with(fragment)
.load(myUrl)
.into(imageView)
Glide.with(activity)
.load(myUrl)
.into(imageView)
刚开始学kotlin的原因我自接触Glide就是4.0了,所以不知道和原来的一些变化。v4版本要是使用override等一些API就要使用生成API。
用注解生成GlideApp
1.在build.gradle中添加
dependencies {
kapt 'com.github.bumptech.glide:compiler:4.0.0'
}
2.创建MyAppGlideModule
只要添加@GlideModule注释和继承AppGlideModule就可以
package seven.com.neihan.util
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule
/**
* Created by Seven on 2017/8/16.
*/
@GlideModule
class MyAppGlideModule: AppGlideModule() {
}
3.点击 Build -> Make Projece 编译通过就可以使用GlideApp代替Glide加载图片
GlideApp.with(fragment).load(url).override(screenWidth, showPicHeight).into(pic)
作为一个初学者简单引用Glide遇到的问题
unresolved reference: GlideApp 错误
主要原因是注解库没有被引入
解决方案:
如果在引用注解库的时候使用 annotationProcessor 改成 kapt。
在Java中引用注解库用的是 annotationProcessor,但是在kotlin中引用注解的时候要用 kapt Kotlin参考文档 这个在Glide官网也有说明。
如果在使用的是kapt还是报错就在build.gradle中添加。
kapt {
generateStubs = true
}
这个配置本来在是在现在的kotlin版本中不用加入的,具体原因还没有深究请谅解。
generateStubs = true 会先把Kotlin的代码生成 .class stubs,以处理注解。还有就是要把 apt 改为 kapt, kapt同样也会对java代码做注解处理
谢谢观赏
作为swift开发人员初学kotlin有不足的地方希望多指正,万分感谢。