useModalKeyboardOverlap — @gj-kit/expo-ui
@gj-kit/expo-ui/insets에서 공개하는 function입니다. package version 0.8.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { useModalKeyboardOverlap } from '@gj-kit/expo-ui/insets';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * How much of a bottom-anchored sheet inside a separate native window (`<Modal>`) * the keyboard covers. Apply it directly as the sheet container's paddingBottom. * * KeyboardAvoidingView cannot be used here. An Android edge-to-edge Modal window * (with statusBarTranslucent) does not resize when the keyboard opens, and KAV's * frame math is off inside that window as well, so neither the "height" nor the * "padding" behavior lifts the sheet (reproduced and confirmed in the memorylog2 * album record upload sheet). Hence the direct subscription to keyboard events. * * Android keyboard events report the IME height measured above the system * navigation inset, but an edge-to-edge Modal window extends below the navigation * bar, so insets.bottom has to be added to get the real occlusion. iOS reports the * full occlusion as is. */declare function useModalKeyboardOverlap(): number;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/expo-ui - 버전:
0.8.1 - 공개 entry:
./insets - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”How much of a bottom-anchored sheet inside a separate native window (<Modal>)
the keyboard covers. Apply it directly as the sheet container’s paddingBottom.
KeyboardAvoidingView cannot be used here. An Android edge-to-edge Modal window (with statusBarTranslucent) does not resize when the keyboard opens, and KAV’s frame math is off inside that window as well, so neither the “height” nor the “padding” behavior lifts the sheet (reproduced and confirmed in the memorylog2 album record upload sheet). Hence the direct subscription to keyboard events.
Android keyboard events report the IME height measured above the system navigation inset, but an edge-to-edge Modal window extends below the navigation bar, so insets.bottom has to be added to get the real occlusion. iOS reports the full occlusion as is.