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 看郭大神的博客。
基礎(chǔ)使用
在Activity和Fragment中直接使用。
Glide.with(fragment)
.load(myUrl)
.into(imageView)
Glide.with(activity)
.load(myUrl)
.into(imageView)
剛開始學(xué)kotlin的原因我自接觸Glide就是4.0了,所以不知道和原來的一些變化。v4版本要是使用override等一些API就要使用生成API。
用注解生成GlideApp
1.在build.gradle中添加
dependencies {
kapt 'com.github.bumptech.glide:compiler:4.0.0'
}
2.創(chuàng)建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)
作為一個初學(xué)者簡單引用Glide遇到的問題
unresolved reference: GlideApp 錯誤
主要原因是注解庫沒有被引入
解決方案:
如果在引用注解庫的時候使用 annotationProcessor 改成 kapt。
在Java中引用注解庫用的是 annotationProcessor,但是在kotlin中引用注解的時候要用 kapt Kotlin參考文檔 這個在Glide官網(wǎng)也有說明。
如果在使用的是kapt還是報錯就在build.gradle中添加。
kapt {
generateStubs = true
}
這個配置本來在是在現(xiàn)在的kotlin版本中不用加入的,具體原因還沒有深究請諒解。
generateStubs = true 會先把Kotlin的代碼生成 .class stubs,以處理注解。還有就是要把 apt 改為 kapt, kapt同樣也會對java代碼做注解處理
謝謝觀賞
作為swift開發(fā)人員初學(xué)kotlin有不足的地方希望多指正,萬分感謝。