리액트 네이티브에서는 특정 화면 혹은 전체 앱에서 상태 바에 대한 색상을 변경시킬 수 있는 컴포넌트를 제공하고 있다.
https://reactnative.dev/docs/statusbar
React Native · A framework for building native apps using React
A framework for building native apps using React
reactnative.dev
사실 매우 간단한 부분이다.
<StatusBar backgroundColor="blue" barStyle="light-content" />
이런 식으로 넣어주면 끝이다.
하지만 Native Base UI 라이브러리를 사용할 때 적용이 안되서 약간의 삽질을 해서 글을 남겼다.
NativeBase | Essential cross-platform UI components for React Native
NativeBase is an open source framework to build React Native apps over a single JavaScript codebase for Android and iOS
nativebase.io
Native Base의 컴포넌트들을 패딩이나 스타일이 잘 적용되어 있어서 특정 UI를 쉽게 넣을 수가 있다. 대표적인 예가 Header 부분인데 Header,Left,Right 등의 컴포넌트만 사용해도 스타일에 크게 신경쓰지 않고 꽤나 일반적인 형태의 앱 디자인을 만들 수 있다. 그런데 Header가 들어가는 순간 react native의 Status bar가 적용이 되지 않는다. 아니 덮어씌워진다고 하는 게 맞을 것 같다. Header 컴포넌트에서 상태바를 변경하는 특성이 들어 있는지 확인을 해보지는 않았지만 내 앱의 경우에 모든 화면에 대한 상태 바를 변경하기 위해 가장 상단에 상태 바를 넣었고, 그 안에 특정 화면에서만 Header을 사용해서 앱을 구성했는데 그 화면들은 상태 바가 적용되지 않는 것이였다.
결국 해결은 Header를 View로 변경함으로써, 즉 native base 컴포넌트를 사용하지 않음으로써 해결했다. 그리고 스타일은 직접 적용을 해주었다.
'프로그래밍 > 리액트 네이티브' 카테고리의 다른 글
리액트 네이티브 카카오톡 공유하기(feat. 윈도우 10, 구글 플레이 앱 서명) (0) | 2020.01.23 |
---|---|
리액트 네이티브 인 앱 결제 (0) | 2020.01.21 |
리액트 네이티브 안드로이드 release용 파일 만들기(feat. 파이어베이스 구글 로그인) (0) | 2020.01.21 |