UniA 프로젝트
- 프로젝트 중 과제에 대한 Task를 CRUD를 하는 창이 필요했고 해당 창에서 년, 월, 일을 설정해야 하는 요구사항이 발생
- 해당 프로젝트는 외국인 대상으로 기획된 앱이어서 기본 국가 설정이 영어로 나와야하는 상황
DatePicker 상황 인식

- 해당 사진처럼 headline이 Locale 설정에 픽스된 상황이었습니다.
- headline을 composable을 이용해서 커스텀할 수 있지만 Locale 설정을 통해 안에 들어간 모든 언어를 영어로 바꾸려고 했습니다.
DatePicker
- Material3에 포함된 Composable으로 캘린더 형식이나 Input 창을 통해서 날짜를 선택할 수 있는 Screen

- 구현체 안에 따로 format에 대한 locale 설정을 하는 구문이 없는 것을 통해 dateFormatter 또는 내부 Container에 존재할 것으로 생각되어 찾아보았습니다.
DatePickerHeadline

- 결과적으로 defaultLocale 설정을 통해서 format의 언어 설정을 한다는 것을 확인할 수 있었습니다.
defaultLocale

- 해당 구현체에서 LocalConfiguration을 변경해야 locale을 확정할 수 있는 것을 확인하였습니다.
- LocalConfiguration을 수정하기 위해 MainAcitivity에서 context를 바꾸기로 했습니다.
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(
newBase?.let {
it.createConfigurationContext(
it.resources.configuration.apply {
setLocale(Locale.ENGLISH)
}
)
} ?: newBase
)
}
- MainActivity에서 attachBaseContext를 override해주고 createConfigurationContext를 이용하여 Locale 설정을 픽스하여 수정하였습니다