Android 가상 버튼 과 몰입 식 의 적합 한 배합 방법

회사 제품 의 요구 에 따라 app 은 전체 화면 모델,즉 4.4 이후 의 이른바 몰입 식 을 실현 해 야 한다.
values-v19 와 values-v21 의 styles 에 다음 코드 를 추가 하여 19 이상 의 시스템 몰입 식 을 실현 합 니 다.

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor">
 <item name="android:windowTranslucentStatus">true</item>
 <item name="android:windowTranslucentNavigation">true</item>
 <item name="android:windowContentOverlay">@null</item>
 <item name="android:statusBarColor">@android:color/transparent</item>
</style>
TranslucentDecor 는 KitKat 및 이상 버 전에 추 가 된 theme 패키지 로 상태 표시 줄(Status Bar)과 네 비게 이 션 표시 줄(Navigation Bar)에 레이아웃 을 올 려 화면 높이 를 확장 합 니 다.이렇게 하면 Status Bar 와 Navigation Bar 의 색상 을 투명 하 게 설정 하면 app 의 전체 화면 을 실현 하고 상태 표시 줄 과 네 비게 이 션 표시 줄 에 영향 을 주지 않 습 니 다.그림:

그럼 문제 가 생 겼 습 니 다.직접 이렇게 설정 하면 핸드폰 은 가상 버튼 을 사용 합 니 다.화 웨 이의 각종 모델 의 핸드폰,구조 와 Navigation Bar 가 겹 쳐 서 충돌 할 수 있 습 니 다.예 를 들 어 다음 과 같 습 니 다.

그리고 4.4 이하 시스템 에 맞지 않 는 다.
문 제 를 해결 하기 위해 많은 자 료 를 살 펴 보고 스스로 시도 해 보 니 많은 방법 이 적합 하지 않다 는 것 을 알 게 되 었 다.나중에 4.4 이하 의 버 전,즉 values 아래 의 styles 를 시도 해 보 았 습 니 다.parent 의 값 을 NoTitleBar 또는 다른 4.4 이하 버 전의 Theme(물론 4.4 이하 의 시스템 은 몰입 식 을 실현 할 수 없습니다)로 설정 한 다음 에 values-v19 와 v21 의 유지 Translucent Decort 는 몰입 식 을 실현 합 니 다.
많은 네티즌 들 의 자 료 를 보고 누 군 가 는 layot 의 전체 레이아웃 에 안 드 로 이 드:fitsSystemWindows="true"를 설정 하려 고 시 도 했 지만 이렇게 Status Bar 도 폐기 되 었 다.이것 은 우리 가 원 하 는 것 이 아니다.
values-v19 와 v21 의 styles 에 있 는

<item name="android:windowTranslucentNavigation">false</item>
false 로 설정 해서 시도 해 봤 는데 성 공 했 습 니 다.가상 버튼 이 있 는 시스템 이 자동 으로 레이아웃 을 올 렸 다.
이상 의 안 드 로 이 드 가상 버튼 과 몰입 식 의 어 울 리 는 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기