1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

[Kotlin]glide 備忘録

Gradleに

Gradle
dependencies {
  implementation 'com.github.bumptech.glide:glide:4.12.0'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
}

を追加。

MainActivity.kt
class MainActivity : AppCompatActivity() {

    private val image = "https://cdn.pixabay.com/photo/2018/05/03/21/49/android-3372580_960_720.png"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val imageOne = findViewById<ImageView>(R.id.image_one)
        val imageTwo = findViewById<ImageView>(R.id.image_two)
        val imageThree = findViewById<ImageView>(R.id.image_three)

        Glide.with(this)
                .load(image)
                .into(imageOne)

        Glide.with(this)
                .load(image)
                .fitCenter()
                .circleCrop()
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(imageTwo)

        Glide.with(this)
                .load(image)
                .override(300,400)
                .centerCrop()
                .into(imageThree)
    }
}

こんな感じで書ける。

Glide.with(this)
    .load(image)
    .into(imageOne)

これは単純にimageのURLを読み込んで、その中身をactivity_main.xmlのid:imageOneに入れる処理。

Glide.with(this)
    .load(image)
    .fitCenter()
    .circleCrop()
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(imageTwo)

これはimageOneの処理に加えて、

画像を丸くする処理
画像を真ん中に合わせる処理
全ての解像度のリソースをキャッシュさせる処理
を追加したもの。

Glide.with(this)
    .load(image)
    .override((width)300,(height)400)
    .centerCrop()
    .into(imageThree)

これはimageOneの処理に加えて、画像の処理を追加したもの。
丸みを帯びず、縦長になる感じ。

Glide.with(this)
    .load(image)
    .circleCrop()
    .into(imageThree)

だと画像は丸くなるが、
ここに

.override(width, height)

を書くとcenterCropが無視される?っぽい。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?