곡λΆν κ²
- CameraX
- Glide
- Content Resolver
- ScaleGestureDetector
μκ²λ κ²
1. AddTextChangedListener
λλΆλΆμ μ΄ν리μΌμ΄μ
μμ κ²μμ°½μ κ²μμ΄λ₯Ό μ
λ ₯νλ©΄ μ¬μ©μκ° Enter
λ₯Ό λλ₯΄κΈ°λ μ μ μ
λ ₯ν κ²μμ΄μ λ°λΌ μλμμ± κ²μμ΄κ° λ³κ²½λλ κ²μ λ³Ό μ μλ€. μ΄λ₯Ό ꡬννκΈ° μν΄μ EditText
μ ν
μ€νΈ λ³νλ₯Ό κ°μ§ν΄μΌνλλ° μ΄λ₯Ό AddTextChangedListener
λ₯Ό ν΅ν΄ κ°μ§ν μ μλ€.
private fun bindViews() = with(binding) {
editTextView.addTextChangedListener {
Log.d("Changed!", editTextView.text.toString())
// Todo - κ²μ API ꡬν
}
}
λ‘κ·Έλ₯Ό μ°μ΄λ³΄μλ€. μ¬μ©μμ μ λ ₯μ λ°λΌ λ‘κ·Έκ° μΆλ ₯λλ κ²μ λ³Ό μ μλ€.
2. CameraX
3. ScaleGestureDectector
μλλ‘μ΄λμμλ μ체μ μΌλ‘ μ€ μΈ, μ€ μμ κΈ°λ₯μ μ 곡νλ€. ScaleGestureDectector
λ₯Ό νμ©νκ³ onScale
μ 맀κ°λ³μλ‘ λ겨주λ detector
μ scaleFactor
λ₯Ό κ³±ν΄μ£Όλ©΄ λλ€.
private fun bindViews() {
var scale = 1.0F
// 리μ€λ κ°μ²΄λ₯Ό ꡬννκ³
val scaleGestureListener = object : ScaleGestureDetector.SimpleOnScaleGestureListener() {
override fun onScale(detector: ScaleGestureDetector): Boolean {
scale *= detector.scaleFactor
Log.d("kodohyeon", scale?.toString()!!)
return true
}
}
// μμ±μμ μ λ¬
val scaleGestureDetector = ScaleGestureDetector(this, scaleGestureListener)
// λ°μν ν°μΉμ΄λ²€νΈλ₯Ό μ λ¬
binding.root.setOnTouchListener { v, event ->
scaleGestureDetector.onTouchEvent(event)
return@setOnTouchListener true
}
}
λ‘κ·Έλ₯Ό μ°μ΄λ³΄λ©΄ 4λ°°κΉμ§ μ¦κ°νλ€κ° 0.5λ°°λ‘ κ°μνλ κ²μ λ³Ό μ μλ€.
4. Application Class
μ€λ CameraX
νλ‘μ νΈλ₯Ό ꡬννλ©΄μ ꡬν μ΄κΈ°μ Application ν΄λμ€
λ₯Ό μμνλ CameraXApplication ν΄λμ€
λ₯Ό μ μνλ€. νλ‘μ νΈλ₯Ό μμ±νκ³ Application
μ λν΄ μ’ λ μμ보μλ€. μ°μ 곡μ λ¬Έμμμλ μ΄λ κ² μ€λͺ
νλ€.
μ¦, ν΄λΉ ν΄λμ€λ₯Ό μ μμΌλ‘ μ¬μ©νκΈ° μν΄μ νμνκ³ Manifestμ Application
μ μ€μ νλ©΄ ν΄λΉ ν΄λμ€λ³΄λ€ λ¨Όμ μΈμ€ν΄μ€νλλ€λ μλ―Έμ΄λ€. μ΄λ² νλ‘μ νΈμμλ Camera2
μ Config
κ°μ CameraX
μ μ λ¬νκΈ° μν΄ μ¬μ©νλ€.
package com.example.camerax
import android.app.Application
import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraXConfig
class CameraXApplication : Application(), CameraXConfig.Provider {
override fun getCameraXConfig(): CameraXConfig = Camera2Config.defaultConfig()
}
μ¬μ€ μ΄ λΆλΆμ μμ±νμ§ μμλ λλ€. CameraX
μ κ΅¬κΈ μ½λλ©λ μ΄ λΆλΆ μμ΄ μ½λλ₯Ό μμ±νκ³ μλ€. μλ¬΄νΌ ν΄λμ€ κ° κ°μ²΄λ₯Ό μ λ¬ν λ Application
μ νμ©νλ©΄ μ μ©ν λ― μΆλ€.
곡λΆν κ²
μκΈ° μ μ MVVM κ°λ λ§λ³΄κΈ°
λλ μ
μ¬λ°λ€.
'π» κ°λ° > iOS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] 22.03.20 (0) | 2022.03.20 |
---|---|
[TIL] 22.03.19 (0) | 2022.03.19 |
[TIL] 22.03.16 (0) | 2022.03.16 |
[TIL] 22.03.15 (0) | 2022.03.15 |
[TIL] 22.03.14 (0) | 2022.03.14 |