반응형
https://developer.android.com/reference/androidx/asynclayoutinflater/view/AsyncLayoutInflater
-
androidx 에 포함되어 있다.
inflate 하는 동안에도 UI 를 responsive 하게 가져갈 수 있다는 장점이 있음
-
AsyncLayoutInflater(this).inflate(resId:Int, parent:ViewGroup, listener:OnInflateFinishedListener?)
-
AsyncLayoutInflater 의 단점은 아래와 같다.
parent 의 generateLayoutParams() 가 thread-safe 해야 한다.
모든 뷰가 Handler 를 생성하거나 Looper.myLooper() 함수를 호출하지 말아야 한다.
LayoutInflater.Factory, LayoutInflater.Factory2 를 설정할 수 없다.
fragment 를 가진 layout 을 inflate 할 수 없다.
-
사용 예제 코드를 보자.
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) loadFirst.setOnClickListener { loadAsync(R.layout.async) { second.text = "I am second TextView" } } } } fun MainActivity.loadAsync(@LayoutRes res: Int, action: View.() -> Unit) = AsyncLayoutInflater(this).inflate(res, frame){ view, resid, parent -> with(parent) { addView(view) action(view) } }
-
끝!!
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
#2 취약점 진단 및 분석 도구 part 1. - 안드로이드 모바일 앱 모의해킹 (0) | 2020.11.18 |
---|---|
#1 안드로이드 취약점 분석 및 환경 소개 - 안드로이드 모바일 앱 모의해킹 (0) | 2020.11.17 |
[android] WorkManager 를 사용해보자 (0) | 2020.08.21 |
[android] MultiDex 에 대한 이야기 (0) | 2020.08.20 |
[android] Define data using entities - Room 에 대해 알아보자 (0) | 2020.08.19 |
댓글