Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

다크모드 적용 #500

Merged
merged 22 commits into from
Oct 2, 2023
Merged

다크모드 적용 #500

merged 22 commits into from
Oct 2, 2023

Conversation

hyemdooly
Copy link
Collaborator

@hyemdooly hyemdooly commented Oct 1, 2023

📄 작업 내용 요약

DatePicker, TimePicker를 제외한 모든 뷰에 다크 모드를 적용했습니다.

🙋🏻 리뷰 시 주의 깊게 확인해야 하는 코드

  1. font를 pretendard로 전부 적용했습니다. 이유는 Roboto에는 한글 폰트가 정의되어있지 않기 때문입니다. 그래서 그동안 핸드폰의 기본 폰트로 적용되어왔던 것 같아요!

  2. Styles쪽에 많은 변화가 생겼습니다. 앞으로는 Figma에 정의된 TextStyle에 따라 style를 적용해주시면 됩니다.
    예시) style="@style/Header1"
    style과 다른 부분은 또 속성을 지정해주시면 덮어씌우기가 가능합니다.
    예시)
    style="@style/Header2" android:textColor="@color/grey_800"

  3. 색상을 다시 정의했고, 1:1 매칭이 아닌 경우 별도의 color을 정의했습니다. Figma와 함께 보시면 좋을 것 같아요. 기본적으로 일반과 다크모드의 색상은 이렇게 1:1 매칭이 되는데요.
    image
    예를 들어 다크 모드가 아닐 때 Primary 900은 다크모드에서 Primary 50과 색깔이 유사합니다. (다크모드에서는 채도가 좀 더 낮아져야해서 컬러코드가 같지 않습니다!)
    하지만 그 동안 그려온 큰 버튼들의 경우 (ex. 입찰하기), 똑같은 빨간색의 색깔이 필요합니다. red_900으로 줘버리면 다크모드에서는 아주아주 옅은 빨간색이 나오기 때문이에요.
    따라서
    values/colors.xml : <color name="primary">@color/red_900</color>
    values-night/colors.xml : <color name="primary">@color/red_50</color>
    다음과 같이 primary라는 컬러를 정의하여 다른 색상을 놓고, Button에는 이 primary color를 사용했습니다.

  4. DatePicker와 TimePicker에서 다크모드 상태의 Style이 먹여지지 않아 도움을 요청합니다!!😭 집단지성이 필요해요!!

📎 Issue 번호

@hyemdooly hyemdooly added android 안드로이드와 관련된 이슈나 PR에 사용 feature 기능 추가 시 labels Oct 1, 2023
@hyemdooly hyemdooly added this to the 최종 데모데이 milestone Oct 1, 2023
@hyemdooly hyemdooly self-assigned this Oct 1, 2023
@hyemdooly hyemdooly changed the base branch from main to develop-an October 1, 2023 11:31
Copy link
Collaborator

@ippnsj ippnsj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단 DatePicker랑 TimePicker는 parent를 제거하면 다크모드 적용이 잘 되는데 문제는 저희가 원하는 theme의 Picker가 뜨지 않는다는 문제가 있네요ㅠㅠ
DatePicker Theme 설정 문제 이슈
이 문제는 좀 더 고민해봐야 할 것 같아요!
일단은 parent를 Theme.Material3.Light.Dialog로 하는건 어떨까요? 🤔
아니면 현재 상태에서 @color/grey_50 이 태그만 추가하면 흰 배경색상으로 인해 글자가 보이지 않는 현상은 해결할 수 있습니다!

@@ -18,15 +18,16 @@
android:id="@+id/cl_second_region_item"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/white_to_red_60_selected"
android:background="@color/grey_50_to_primary_selected"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

first region 아이템 배경 색상과 동일해요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다크모드 색깔 타협을 아직 못봐서 일단 이렇게 해두었어요🥲🥲

Copy link
Collaborator

@rhthrhrl0 rhthrhrl0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생많으셨습니다! 전체적으로 실행해보고, 코드 어떻게 적용하는지 방법을 좀 더 살펴봤습니다.
전체적으로 색상도 예뻐진 것 같고, 고생 많이 하신 것 같아서 감사합니다!
리뷰 하나 달았는데, 색상이 의도하셨던 것인지만 궁금했던 거여서 일단 바로 승인하겠습니다. 정말 고생많으셨습니다!

Comment on lines 10 to 11
<item name="colorControlActivated">@color/red_800</item>
<item name="android:textColorHighlight">@color/red_700</item>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

라이트 모드일때 색상이 너무 강해서 시인성이 떨어지는 것 같아요

image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오우 세상에 수정하겠습니다!!!

Copy link
Collaborator

@ippnsj ippnsj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다크모드에서 피커 커스텀 테마 설정하는게 상당히 까다롭던데 성공하셨군요! 대단해요~!! 🥳
타임피커는 스피너로 바뀌니까 확실히 예전보다 편한 것 같아요! 👍
다크모드에서의 색상은 함께 논의해보아요! 🤗

Copy link
Collaborator

@rhthrhrl0 rhthrhrl0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제가 빼먹었던 백그라운드 처리 해주셔서 감사합니다! 정상 동작하는거 확인했습니다.

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:background="@{AuctionDetailFormatter.INSTANCE.formatAuctionStatusColor(context, viewModel.auctionDetailModel.auctionDetailStatusModel.colorId)}"
android:background="@drawable/bg_radius_5dp"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

백그라운드 추가 감사합니다!

@hyemdooly hyemdooly merged commit d80174a into develop-an Oct 2, 2023
@hyemdooly hyemdooly deleted the feature/466 branch October 2, 2023 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android 안드로이드와 관련된 이슈나 PR에 사용 feature 기능 추가 시
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

다크모드 적용
3 participants