浏览代码

[공통][Common] 풀스크린일때 키보드 올라오면 이벤트 받기 수정

Hasemi 7 年之前
父节点
当前提交
f18194e3e2

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -30,6 +30,7 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.custom.FullScreenWithKeyBoardLayout;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.screen.factory.BasicFragmentFactory;
 import kr.co.zumo.app.lifeplus.view.screen.factory.FragmentFactory;
@@ -79,7 +80,7 @@ public abstract class ActivityBase extends AppCompatActivity {
     if (hasLayout()) {
       setContentView(R.layout.activity_main);
       //resize screen in full screen
-      //AndroidBug5497Workaround.assistActivity(this);
+      FullScreenWithKeyBoardLayout.assistActivity(this);
 
       // TODO: 소프트키 있을경우 판별하여 레이아웃 패딩 추가, 추후 수정예정 
       //소프트키 있을 경우 판별하여 레이아웃 조절

+ 6 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/AndroidBug5497Workaround.java

@@ -6,6 +6,8 @@ import android.view.View;
 import android.view.ViewTreeObserver;
 import android.widget.FrameLayout;
 
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+
 /**
  * AndroidBug5497Workaround
  * <pre>
@@ -16,17 +18,17 @@ import android.widget.FrameLayout;
  * @history 하세미   [2018-12-05]   [최초 작성]
  * @since 2018-12-05
  */
-public class AndroidBug5497Workaround {
+public class FullScreenWithKeyBoardLayout {
 
   public static void assistActivity(Activity activity) {
-    new AndroidBug5497Workaround(activity);
+    new FullScreenWithKeyBoardLayout(activity);
   }
 
   private View mChildOfContent;
   private int usableHeightPrevious;
   private FrameLayout.LayoutParams frameLayoutParams;
 
-  private AndroidBug5497Workaround(Activity activity) {
+  private FullScreenWithKeyBoardLayout(Activity activity) {
     FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);
     mChildOfContent = content.getChildAt(0);
     mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@@ -42,6 +44,7 @@ public class AndroidBug5497Workaround {
       int heightDifference = usableHeightSansKeyboard - usableHeightNow;
       if (heightDifference > (usableHeightSansKeyboard / 4)) {
         // keyboard probably just became visible
+        heightDifference = heightDifference - ResourceUtil.getStatusBarHeightManual();
         frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;
       }
       else {