@Override public void onComputeInsets(Insets outInsets) { super.onComputeInsets(outInsets); if (mState != STATE_IDLE) { outInsets.contentInsets.top = mBottomContent.getTop(); outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_CONTENT; } }
/** * @hide Compute the interesting insets into your UI. The default implementation uses the entire * window frame as the insets. The default touchable insets are {@link * Insets#TOUCHABLE_INSETS_FRAME}. * @param outInsets Fill in with the current UI insets. */ @SystemApi public void onComputeInsets(Insets outInsets) { int[] loc = mTmpLocation; View decor = getWindow().getWindow().getDecorView(); decor.getLocationInWindow(loc); outInsets.contentInsets.top = 0; outInsets.contentInsets.left = 0; outInsets.contentInsets.right = 0; outInsets.contentInsets.bottom = 0; outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_FRAME; outInsets.touchableRegion.setEmpty(); }