일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ProGuard
- AWS
- Codeforces
- 프로그래머스
- Hilt
- Gradle
- Kotlin
- 코루틴
- boj
- MyVoca
- Coroutines
- Coroutine
- androidStudio
- architecture
- textfield
- TEST
- Compose
- activity
- 백준
- 암호학
- MiTweet
- pandas
- livedata
- relay
- Python
- Rxjava
- android
- GitHub
- 코드포스
- 쿠링
- Today
- Total
목록textfield (4)
이동식 저장소
Compose에는 여러 타입의 Material ``TextField``가 선언되어 있다.하지만 머티리얼 디자인과는 다른 커스텀 ``TextField``가 필요하다면? ``BasicTextField``를 커스터마이즈하면 된다.BasicTextField``BasicTextField``는 모든 머티리얼 ``TextField``의 backbone 컴포넌트이다. 실제로 ``OutlinedTextField`` 등의 코드를 보면, 내부적으로 ``BasicTextField``를 호출하고 있다.@Composablefun OutlinedTextField( // ...) { // ... BasicTextField( // ... decorationBox = @Composable { innerTextF..
문제 초기 문자열이 있는 ``TextField``를 다음과 같이 선언하였다. @LightPreview @Composable private fun TextFieldPreview() { var textFieldValue by remember { mutableStateOf("검색하세요") } KuringTheme { TextField( value = textFieldValue, onValueChange = { textFieldValue = it } ) } } 프리뷰를 실행해 보면, 처음부터 문자열이 있음에도 불구하고(``검색하세요``) 커서가 맨 앞에 있는 모습을 확인할 수 있다. 실제로는 문자열의 맨 끝에 와야 자연스럽다. 원인 원인을 파악하기 위해 ``TextField``의 내부 구현을 뜯어보자. 우선, ..
Compose Material 컴포넌트 중 ``TextField`` 종류가 TalkBack의 포커스를 받지 못하는 경우가 있다. 마치 해당 컴포넌트가 없는 것처럼 그냥 지나쳐 버린다. 원인 은 솔직히 잘 모르겠다. 그런데 ``TextField``에 label을 추가해 주면 정상 작동한다. OutlinedTextField( label = { TitleSmall(text = stringResource(R.string.school_text_field_label)) }, // ... ) 접근성 차원에서라도 라벨을 꼬박꼬박 붙여주는 걸로..?
다음 글을 읽고 정리하였습니다. Effective state management for TextField in Compose TL;DR — The Compose roadmap reflects the work that the team is doing on multiple fronts, in this case Text Editing Improvements and… medium.com 텍스트를 동기적으로 갱신해야 한다 ``TextField``는 내부적으로 state를 3곳에 저장한다. Keyboard: 맞춤법 검사나 다음 단어 추천 등의 로직을 수행하기 위해 state를 저장한다. State holder: 사용자가 정의한 state이다. ``mutableStateOf("state")`` 등이 해당된다. Int..