반응형

2024/02 4

[Android] Compose TextField

개요 TextField는 유저가 텍스트를 입력할 수 있도록 하는 Composable 함수이다. Composable TextField View에서 EditText를 정의했을 땐, 정의한 후 텍스트 입력이 자유로웠지만, TextField에서 텍스트 입력을 사용하기 위해서는 remember API를 함께 사용해야 한다. 아래 코드 블록과 같이 text에 대한 선언이 없다면 TextField에 Text 입력이 제대로 이루어지지 않는다. var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, ) remember API는 간단하게 이야기하면 포함되어 있는 Composable 함수에 저장되는 변..

[Android] Compose Button

개요 Composable 함수를 사용하여 다양한 Button을 쉽게 만들 수 있다. 버튼은 사용자가 정의된 작업을 트리거할 수 있도록 도와주는 기본 구성요소이다. Composable Button 일반적으로 Button은 onClick 속성과 content 속성을 정의한다. onClick 속성은 모든 버튼이 공통적으로 갖고 있는 속성이며, 여기에 트리거를 정의한다. content 속성은 Composable 함수를 정의하는 람다식으로 Composable Button 안에 contents를 custom 하기 위해 자유롭게 정의할 수 있다. Button(onClick = { /*TODO*/ }) { } Text Button 구현하기 일반적으로 Button 안에 Text를 입력한 형태를 가장 많이 사용한다. Co..

[Android] Compose Text

개요 Android에서 UI를 개발할 때 Text는 꼭 필요한 중요 요소 중의 하나이며, Jetpack Compose를 사용하면 Text를 더 쉽게 표현할 수 있다. Text Text의 text 속성 값은 String 형식이다. 따라서 문자열 변수를 사용하거나 직접 입력이 가능하며, strings.xml에 정의한 속성 역시 사용 가능하다. Column { Text(text = "Hello World") Text(text = stringResource(id = R.string.hello_world)) } String 값과 strings.xml 속성을 사용하는 방법과 결과물이다. 둘 사이의 차이점은 없다. Text Style 색상 변경 Text( text = stringResource(id = R.strin..

[Android] LiveData setValue(), postValue() deep dive

개요 LiveData는 수명 주기를 인식하는 Observable data holder class 이다. LiveData는 몇 가지 특성을 갖고 있다. 데이터를 보유할 수 있다. 또한, 모든 유형의 데이터에 사용할 수 있는 Wrapper class이다. Observable 하다. LiveData 객체에서 보유한 데이터가 변경되면 관찰자에게 알림이 제공된다. 수명 주기를 인식한다. LiveData에 관찰자를 연결하면, 관찰자는 LifecycleOwner(일반적으로 Activity 또는 Fragment)와 연결된다. LiveData는 STARTED, RESUMED와 같은 활성 수명 주기 상태인 관찰자만 업데이트 한다. LiveData 객체의 setValue(), postValue() postValue() 작업..

Foundation/Android 2024.02.11