유니티로 작업을 한다고 해도, 상태바를 보여 주어야 할 경우가 있습니다.
제 경우 '만지작'이라는 협업 프로젝트를 진행하고 있는데, 유니티를 사용한 게임이 아닌 일반 어플리케이션이기 때문에 모바일 기기에서 상태바를 표시할 필요가 있습니다.
그러나, iOS와는 달리 안드로이드의 경우, 과거에는 빌드 세팅에서 상태바를 보이게 할 것인지 아닌지에 대한 설정이 있었으나, 유니티 5에서는 해당 설정이 없어졌더군요.
구글 검색을 해보며 여러가지 방법을 시도해 봤지만, 만족할 만한 방법을 못찾다가, 어떤 일본어로 된 웹페이지에서 가장 마음에 드는 방법을 찾았습니다. (일본어는 못하지만, 구글 일본어 번역기능만 써도 무슨 말인지는 알겠군요.)
GitHub에 올라와 있는 Unity tidbits 이라는 유니티 개발에 도움이 되는 C# 코드라는 오픈소스의 일부를 사용하는 방법입니다.
먼저, 해당 오픈소스의 위치는, https://github.com/zeh/unity-tidbits 입니다.
안드로이드의 상태바를 보이거나 안보이게 하기 위해서는 ApplicationChrome 이라는 단 하나의 클래스 파일만 있으면 됩니다.
ApplicationChrome 클래스 소스코드 파일의 위치는, https://github.com/zeh/unity-tidbits/tree/master/application 입니다. 여기서 'ApplicationChrome.cs' 파일만 다운로드 하여 작업해야 하는 유니티 프로젝트 폴더에 복사하면 됩니다.
사용 방법은 간단합니다.
본인 프로젝트의 C# 스크립트에서 적당한 곳에서,
ApplicationChrome.statusBarState = ApplicationChrome.States.VisibleOverContent;
와 같이 한줄이면 상태바가 나오게 할 수 있습니다.
참고로, statusBarState 값은,
ApplicationChrome.States.Visible : 상태바가 보이게 함. (상태바 영역 차지)
ApplicationChrome.States.VisibleOverContent : 상태바가 화면 위에 겹쳐서 나오게 함. 상태바 배경은 불투명한 색상.
ApplicationChrome.States.TranslucentOverContent : 상태바가 화면 위에 겹쳐서 나오게 함. 상태바 배경은 투명.
참고로, 이 방법에 대한 원본글의 위치는, http://tsubakit1.hateblo.jp/entry/2016/01/23/041430 입니다. (일본어이지만, 구글 크롬의 번역기능 사용하면, 알아볼 정도로는 번역이 됩니다.)
(C) 2016 WingsNote.com, 무단 복제 게시 금지. 링크 허용.