티스토리 뷰
반응형
안드로이드 앱 개발하다보면 Full Screen을 요구하는 경우가 많습니다.
보통은 ActionBar을 숨기는 정도만 하는데,
게임이나 컨트롤러 같은 앱을 개발하다보면 StatusBar와 SoftKey을 숨기는 경우가 발생합니다.
SoftKey가 화면에 표시되기 시작한 것은 디바이스 액정크기를 늘리면서 그 안에 소프트키를 넣는 방식으로 전환되었습니다.
따라서 실제 앱을 조작하다보면 실수로 누르는 경우가 발생합니다.
KitKat(android 4.4) 버전 이후부터는 코드 몇 줄로 해결할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class MainActivity extends Activity { private View decorView; private int uiOption; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); decorView = getWindow().getDecorView(); uiOption = getWindow().getDecorView().getSystemUiVisibility(); if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ) uiOption |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ) uiOption |= View.SYSTEM_UI_FLAG_FULLSCREEN; if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT ) uiOption |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility( uiOption ); } } |
팝업이나 다이얼로그가 호출되면 자동으로 SoftKey 가 보이게 됩니다.
표시된 이후 자동 숨김이 안되므로 onWindowFocusChanged을 오버라이딩하여 SoftKey을 자동으로 숨겨지도록 합니다.
1 2 3 4 5 6 7 8 | public void onWindowFocusChanged(boolean hasFocus) { // super.onWindowFocusChanged(hasFocus); if (hasFocus) { hideSystemBar(); } } | cs |
위의 방식으로 하면 완전한 Full-Screen을 구성할 수 있을 것으로 예상됩니다.
참고
http://m.blog.daum.net/creazier/15310030
http://cloudylab.blogspot.kr/2015/02/android-full-screen.html
반응형
'프로그래밍 > Android' 카테고리의 다른 글
[Android][RxJava] RxJava와 RxAndroid [2 / 2] (0) | 2017.12.18 |
---|---|
[Android][RxJava] RxJava와 RxAndroid [1 / 2] (0) | 2017.12.18 |
[Android] [버그이슈] 앱 빌드 시도 시 아무런 동작 안하는 이슈 (0) | 2017.12.18 |
[Android] 해상도에 따른 UI 구성에 필요한 도구 (0) | 2017.12.18 |
[Android] 화면 회전 상태 확인 방법 (0) | 2017.12.18 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- Kotlin
- 미션차이나센터
- IOS
- 패턴
- 안드로이드
- view
- swift
- IT
- 알고리즘
- Android
- flutter
- missioon
- 탁구
- issue
- 고시문헬퍼
- 고시문
- 스코어헬퍼
- RXjava
- 점수판
- DI
- java
- 코틀린
- MCC
- 디자인패턴
- missionchina
- Android Studio
- 임용고시
- 선교
- push
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함