diff --git a/plugins/WebViewObject.cs b/plugins/WebViewObject.cs index 48ae4ca3..47a0cf87 100644 --- a/plugins/WebViewObject.cs +++ b/plugins/WebViewObject.cs @@ -144,12 +144,12 @@ void Update() /// Called from Java native plugin to set when the keyboard is opened public void SetKeyboardVisible(string pIsVisible) { - bool isKeyboardVisible0 = mIsKeyboardVisible; - mIsKeyboardVisible = (pIsVisible == "true"); - if (!Screen.fullScreen) + if (BottomAdjustmentDisabled()) { return; } + bool isKeyboardVisible0 = mIsKeyboardVisible; + mIsKeyboardVisible = (pIsVisible == "true"); if (mIsKeyboardVisible != isKeyboardVisible0 || mIsKeyboardVisible) { SetMargins(mMarginLeft, mMarginTop, mMarginRight, mMarginBottom, mMarginRelative); @@ -158,7 +158,11 @@ public void SetKeyboardVisible(string pIsVisible) public int AdjustBottomMargin(int bottom) { - if (!mIsKeyboardVisible || !Screen.fullScreen) + if (BottomAdjustmentDisabled()) + { + return bottom; + } + else if (!mIsKeyboardVisible) { return bottom; } @@ -177,6 +181,14 @@ public int AdjustBottomMargin(int bottom) return (bottom > keyboardHeight) ? bottom : keyboardHeight; } } + + private bool BottomAdjustmentDisabled() + { + return + !Screen.fullScreen + || ((Screen.autorotateToLandscapeLeft || Screen.autorotateToLandscapeRight) + && (Screen.autorotateToPortrait || Screen.autorotateToPortraitUpsideDown)); + } #else IntPtr webView; #endif