오늘은 어제와 같이 미니 프로젝트를 진행하였다.
전체적인 레이아웃과 시작때 계획하였던 구상은 팀원분들의 캐리로 다 이뤘지만 ㅠㅠ
레이아웃을 완성하다 검은색 배경에 흰 글씨도 마음에 들어 팀원들과 상의를 해보니 다크모드도 가능하다고 하셔서 구현하는걸 배워보았습니다.
res/values/colors 경로에
다음과 같이 파일을 생성해주면
color.xml(night)라는 파일이 생성됩니다.
이제 메뉴 툴바안에 구현을 하기위해서 기능을 넣습니다.
R.id.themeMode -> { // themeMode라는 아이템 val item = arrayOf("라이트 모드", "다크 모드", "사용자 지정") val builder = AlertDialog.Builder(this) //AlertDialog = Toast 대신 사용가능 .setTitle("테마 변경") .setItem(item) { dialog, idx -> if (item[idx] == "라이트 모드") { changeTheme(AppCompatDelegate.MODE_NIGHT_NO) } else if (item[idx] == "다크 모드") { changeTheme(AppCompatDelegate.MODE_NIGHT_YES) } else { changeTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) } } builder.show() . . . private fun changeTheme(mode: Int) { AppCompeatDelegate.setDefaultNightMode(mode) // 디폴트 값을 다크모드로제가 백퍼센트 이해가 된게 아니라서 틀릴 수도 있습니다 ㅠㅠ
이렇게 다크모드를 구현해 주셨습니다.
제가 너무 한게 없는 것 같아 구글링을 통해 달력을 만들 수 있다는 것을 알고 기록이 가능한 달력을 현재 구현 중입니다!

[출처: https://stickode.tistory.com/139]
아직은 레이아웃 단계이지만 내일 완성되면 올려보도록 하겠습니다!