พื้นฐาน android - การใช้ apply ในภาษา kotlin (เทียบกับการเขียนแบบเดิม)

ในตัวอย่างนี้คือการทำ Fade animation  (แบบ Hardcode) ให้ imageView
ตัวอย่างการเขียนแบบเดิมในสไตค์ของ Java ที่เราคุ้นเคย

[Java Style]
imageView.alpha = 0f
imageView.animate()
       .alpha(1f)
       .setDuration(longAnimationDuration.toLong())
       .setListener(null)

(งานจริงส่วนใหญ่เรื่อง animation จะทำเป็น xml ไฟล์เก็บไว้ใน /res/anim/.... )

______________________________________________________

พอมามองในสไตค์ของ kotlin มี apply เพิ่มมาให้ใช้
มันจะ return "this" ก็คือ object view ของตัวมันเอง เข้ามาในปีกกา {}
เหมือนจะบอกว่า ถ้าจะทำอะไรฉัน ก็ทำได้แค่ในนี้นะ...
กำจัดสโคปของตัวแปร + โค้ดดูดีมีระเบียบไปอีกแบบดีครับ

[Kotlin Style]
imageView.apply {
    this.alpha = 0f
    this.animate()
        .alpha(1f)
        .setDuration(longAnimationDuration.toLong())
        .setListener(null)
}


Usage

imageView.apply {
     // เราพิมพ์ it.  ตรงนี้
}

แอนดรอยสเตอร์ดิโอจะบอกเราเองว่าสามารถทำอะไรต่อๆไปได้บ้าง