@@ -34,17 +34,29 @@ public static UIWidgetsViewController getInstance() {
34
34
private UIWidgetsViewMetrics viewMetrics ;
35
35
private boolean keyboardOpen ;
36
36
37
+ private float statusHeight ;
38
+ private float navigationBarHeight ;
39
+
37
40
private void setup () {
38
41
//Log.i("tag", "On Setup 2");
39
42
40
43
keyboardOpen = false ;
41
44
viewMetrics = new UIWidgetsViewMetrics ();
42
-
45
+ setupHeights ();
43
46
updateViewMetrics ();
44
47
45
48
setupViewMetricsChangedListener ();
46
49
}
47
50
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
+
48
60
public static UIWidgetsViewMetrics getMetrics () {
49
61
UIWidgetsViewController controller = getInstance ();
50
62
return controller .viewMetrics ;
@@ -143,6 +155,10 @@ public void updateViewMetrics() {
143
155
viewMetrics .insets_bottom = navigationBarHidden ? calculateBottomKeyboardInset (rect ) : rect .bottom ;
144
156
viewMetrics .insets_left = 0 ;
145
157
158
+ //adjust
159
+ viewMetrics .insets_bottom -= navigationBarHeight ;
160
+ viewMetrics .padding_top -= statusHeight ;
161
+
146
162
//Log.i("UIWidgetsDebug", "checks: " + navigationBarHidden + " " + rect.bottom);
147
163
//Log.i("UIWidgetsDebug", " padding: " + viewMetrics.padding_top + " " + viewMetrics.padding_right + " " + viewMetrics.padding_bottom + " " + viewMetrics.padding_left);
148
164
//Log.i("UIWidgetsDebug", " insets: " + viewMetrics.insets_top + " " + viewMetrics.insets_right + " " + viewMetrics.insets_bottom + " " + viewMetrics.insets_left);
0 commit comments