티스토리 뷰

반응형




숭실대학교 커뮤니티 SSUmunity 에서 학우들의 스마트한 캠퍼스라이프를 위해 

학교 커뮤니티 + 학사관리(유세인트) 기능을 통합한  ' SSULiTE ' 어플리케이션을 개발하고 있다. 

<링크 : https://play.google.com/store/apps/details?id=org.ssumunity.ssulite >





 ulnamsong (SSUmunity 다재다능 디발자 김태인) 이가 1차 런칭을 위해

깔끔한 화이트와 세련된 블루컬러를 특징으로 디자인을 적용한 UX/UI 의 유저 평가에서  

다음과 같은 리뷰가 있었다.






배터리, 시간, 통신 주파수 세기, 알람 등을 표시해주는 화면최상단의 Status Bar가

좌측 Normal 상태와 같이 android:windowLightStatusBar 옵션을 true 로 설정하여 

어떤 배경색이 오더라도 테마와 반전되는 색상으로

Status Bar 의 아이콘들이 정상적으로 표시되어야 하는데, 위의 옵션을 API Level 23~ (마쉬멜로)부터 지원하여 

우측 상태와 같이 API Level 22 이하의 OS 버전에서는 

 흰색 배경 컬러를 사용하여 Status Bar 아이콘들이 흰색에 묻혀버리는 상황이 발생해 버렸다.

  


< Status Bar : API 23 이상 >                                              < Status Bar : API 22 이하 >




2차 스프린트 런칭을 위해 새롭게 변경된 디자인 적용과 함께

이 문제를 해결하고자 동적으로 유저의 OS 버전에 따라 테마를 지원할 수 있도록

변경하려고 API Level 22 이하의 OS 버전 (롤리팝)의 경우, 동적 코드로 windows의 테마를 바꾸려고 하였으나 

API Level 22 부터 동적으로 Status Bar 의 색상이 조절가능 하여,

SSULite에서 지원하는 min SDK 18 버전부터 21까지 기존 theme 색상을 사용할 경우 문제를 해결 할 수 없다는 결론이 나왔다.



결국, 코드가 아닌 파일을 추가하는거라 마음에 걸렸지만

values 의 api 버전별 파일을 나누어 theme 를 지원하기로 결정하였다.


기존 theme 의 colorPrimaryDark 색상인 #FFFFFF 를

android:windowLightStatusBar 옵션을 지원하는 API Level 23 미만의 18 ~ 22 버전 까지 

Default로 #66B8FF 를 지원 하기로 하였고,

23 ~ 이상 버전 부터 #FFFFFF 을 지원 하기로 하였다.


기존의 values/style.xml 에는 #FFFFFF 으로 작성하였고,

values-v23 폴더를 생성하여 style.xml 에 해당 컬러만 #66B8FF 으로 작성하여주었다.


values-vA 라고 폴더를 만들경우, API Level A 부터 해당 폴더에 있는 코드들이 적용된다.

(API 버전별로, 화면 크기별로 다중 지원 가능하다.)




API 버전에 따른 다중 테마 지원 적용 결과  

 < Status Bar : API 23 이상 >                                                   < Status Bar : API 22 이하 >





* 애초에 구글 디벨로퍼 가이드라인대로 다중 테마 지원시에는 res 폴더를 필요에 따라 나누어 코드를 작성하는게 수고를 더는 듯 하다...




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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