Skip to content
This repository was archived by the owner on Apr 29, 2021. It is now read-only.

Commit 39e7ca8

Browse files
author
Yuncong Zhang
authored
Merge pull request #269 from UnityTech/androidfix
Androidfix
2 parents ada89e6 + 0e7362a commit 39e7ca8

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

Runtime/Plugins/platform/android/view/UIWidgetsViewController.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,29 @@ public static UIWidgetsViewController getInstance() {
3434
private UIWidgetsViewMetrics viewMetrics;
3535
private boolean keyboardOpen;
3636

37+
private float statusHeight;
38+
private float navigationBarHeight;
39+
3740
private void setup() {
3841
//Log.i("tag", "On Setup 2");
3942

4043
keyboardOpen = false;
4144
viewMetrics = new UIWidgetsViewMetrics();
42-
45+
setupHeights();
4346
updateViewMetrics();
4447

4548
setupViewMetricsChangedListener();
4649
}
4750

51+
private void setupHeights() {
52+
final View unityView = ((ViewGroup)UnityPlayer.currentActivity.findViewById(android.R.id.content)).getChildAt(0);
53+
Rect rect = new Rect();
54+
unityView.getWindowVisibleDisplayFrame(rect);
55+
56+
statusHeight = rect.top;
57+
navigationBarHeight = unityView.getRootView().getHeight() - rect.bottom;
58+
}
59+
4860
public static UIWidgetsViewMetrics getMetrics() {
4961
UIWidgetsViewController controller = getInstance();
5062
return controller.viewMetrics;
@@ -143,6 +155,10 @@ public void updateViewMetrics() {
143155
viewMetrics.insets_bottom = navigationBarHidden? calculateBottomKeyboardInset(rect) : rect.bottom;
144156
viewMetrics.insets_left = 0;
145157

158+
//adjust
159+
viewMetrics.insets_bottom -= navigationBarHeight;
160+
viewMetrics.padding_top -= statusHeight;
161+
146162
//Log.i("UIWidgetsDebug", "checks: " + navigationBarHidden + " " + rect.bottom);
147163
//Log.i("UIWidgetsDebug", " padding: " + viewMetrics.padding_top + " " + viewMetrics.padding_right + " " + viewMetrics.padding_bottom + " " + viewMetrics.padding_left);
148164
//Log.i("UIWidgetsDebug", " insets: " + viewMetrics.insets_top + " " + viewMetrics.insets_right + " " + viewMetrics.insets_bottom + " " + viewMetrics.insets_left);

0 commit comments

Comments
 (0)