![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/27MgM/btsKMeZKJyd/yaHDGARDBFIbtDUgo3kXV0/img.png)
토익 왜함?슬슬 군대갈 때 됬는데 여러모로 알아보니까 토익이 필요해서 시작한다. 카투사 지원 성공 확률은 상당히 낮지만 대우는 젤 괜찮다고 해서토익 780+ 찍고 카투사 넣어볼 생각이다. 카떨공 카투사 떨어지면 공군 지원할 예정이다.공군도 가산점 작게나마 토익 가산점이 존재한다. 이번엔 열심히 해보자사실 예전부터 토익 제데로 해볼까 생각은 했는데그 때 필요성을 못느껴서 찍먹만 하고 그만뒀다. 군대 아니어도 토익 따놓으면 나중에 이력서에도 기술할 수있으니 따놓을 이유는 충분하다고 본다. 산타 토익 이왕 마음 먹은 거 제데로 해보려고 산타 토익 포인트 환급반 질렀다. 실제 토익이랑 달라서 도움이 안된다는 의견도 있었지만, 휴대폰, 컴퓨터 상관없이 언제 어디서든 공부할 수 있기에 접근성이 좋고저 패..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bDnpsQ/btsKKRkfI84/aNtJMRYfLLgRKiCSNpMZck/img.png)
계정 복구 서비스 UI 이메일 찾기는 이름을 통해 진행할 것이고,비밀번호 재설정은 이메일 인증을 통해 진행할 것이다. 두 화면을 따로 구현할 수도 있지만 같은 나같은 경우는텍스트 스위치 위젯을 통해 한 화면에서 계정 복구를 진행할 수 있도록 했다. TextSwitchfun ContentDrawScope.drawWithLayer(block: ContentDrawScope.() -> Unit) { with(drawContext.canvas.nativeCanvas) { val checkPoint = saveLayer(null, null) block() restoreToCount(checkPoint) }}@Composablefun TextSwitch( mo..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/czyEhE/btsKKGiMR8S/aSypsZ9Gw7zkPIkrp6osE1/img.png)
키보드 백드롭이란? 키보드 활성화 시 잠깐 생기는 임시 여백을 키보드 백드롭이라고 한다. 키보드 백드롭 색 설정 #F9F9F9 #222329키보드 백드롭의 색은 컬러 리소스로 지정해야 하기에res/color에서 라이트모드와 다크모드 배경색을 추가한다. @AndroidEntryPointclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val keyboardBackDropColor = if (!isSystemInDarkTheme()) R.co..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bDg1bN/btsKIRYQ841/W6eBL5VqPL2EgNBwlz2CB0/img.png)
회원가입 UI 회원가입을 하려면 이메일, 이름, 비밀번호를 입력해도록 구현했다. 회원가입 Flow1. 이메일 입력2. 인증 요청 버튼 클릭3. 입력한 이메일과 선언해둔 임시 비밀번호로 임시 계정 생성4. 파이어베이스는 회원가입 시 자동으로 로그인을 진행함5. 로그인된 사용자 정보 기반으로 이메일 인증 요청 메일 수신6. 이메일 인증 완료 혹은 가입 취소시 임시계정 삭제7. 모든 밸리데이션 통과 후 회원가입 버튼 누르면 실제 계정 생성8. 로그인 화면으로 라우팅파이어베이스는 이미 가입된 유저만이 이메일 인증을 할 수 있기에위와 같은 흐름으로 파이어베이스 이메일 회원가입을 구현할 것이다. 파이어베이스 설정 Authentication 탭에 들어가서 이메일/비밀번호 로그인을 활성화 해준다.그래야 이메일 인증..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/vgMQ2/btsKI4jrrHi/4C9oDlhWxMt1Uygq7UplUK/img.png)
개요 위와 같이 여러개의 텍스트 필드가 화면에 배치되게 되면키보드가 올라올 때 하단에 위치한 텍스트 필드를 가리게 되는 문제가 발생한다. 이를 방지하기 위해 키보드 스크롤 설정을 해줘야 한다. 매니패스트 설정 메인 액티비티 부분에 해당 구문을 추가한다. UI 구조@Composablefun ContentResizingScreen( contentColumn: @Composable ColumnScope.() -> Unit, bottomRow: @Composable RowScope.() -> Unit) { val focusManager = LocalFocusManager.current val scrollState = ..