Bläddra i källkod

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

hyodong.min 7 år sedan
förälder
incheckning
f543695e2c

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -28,6 +28,7 @@ import kr.co.zumo.app.lifeplus.supervisor.FragmentSkipBackChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.custom.AndroidBug5497Workaround;
 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;
@@ -75,6 +76,9 @@ public abstract class ActivityBase extends AppCompatActivity {
     Log.w("APP# ActivityBase | onCreate", "| >> " + this.getClass().getSimpleName() + " HC: " + this.hashCode());
     if (hasLayout()) {
       setContentView(R.layout.activity_main);
+      //resize screen in full screen
+      AndroidBug5497Workaround.assistActivity(this);
+
        findViewById(R.id.layout_app_bar).setPadding(0, ResourceUtil.getStatusBarHeight(), 0,0);
 //      CoordinatorLayout.LayoutParams params = new CoordinatorLayout.LayoutParams(
 //        CoordinatorLayout.LayoutParams.MATCH_PARENT,

+ 62 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/AndroidBug5497Workaround.java

@@ -0,0 +1,62 @@
+package kr.co.zumo.app.lifeplus.view.custom;
+
+import android.app.Activity;
+import android.graphics.Rect;
+import android.view.View;
+import android.view.ViewTreeObserver;
+import android.widget.FrameLayout;
+
+/**
+ * AndroidBug5497Workaround
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-12-05]   [최초 작성]
+ * @since 2018-12-05
+ */
+public class AndroidBug5497Workaround {
+
+  public static void assistActivity(Activity activity) {
+    new AndroidBug5497Workaround(activity);
+  }
+
+  private View mChildOfContent;
+  private int usableHeightPrevious;
+  private FrameLayout.LayoutParams frameLayoutParams;
+
+  private AndroidBug5497Workaround(Activity activity) {
+    FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);
+    mChildOfContent = content.getChildAt(0);
+    mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+      public void onGlobalLayout() { possiblyResizeChildOfContent(); }
+    });
+    frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams();
+  }
+
+  private void possiblyResizeChildOfContent() {
+    int usableHeightNow = computeUsableHeight();
+    if (usableHeightNow != usableHeightPrevious) {
+      int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();
+      int heightDifference = usableHeightSansKeyboard - usableHeightNow;
+      if (heightDifference > (usableHeightSansKeyboard / 4)) {
+        // keyboard probably just became visible
+        frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;
+      }
+      else {
+        // keyboard probably just became hidden
+        frameLayoutParams.height = usableHeightSansKeyboard;
+      }
+      mChildOfContent.requestLayout();
+      usableHeightPrevious = usableHeightNow;
+    }
+  }
+
+  private int computeUsableHeight() {
+    Rect r = new Rect();
+    mChildOfContent.getWindowVisibleDisplayFrame(r);
+    return (r.bottom - r.top);
+  }
+
+}

+ 0 - 47
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/PreCachingLayoutManager.java

@@ -1,47 +0,0 @@
-package kr.co.zumo.app.lifeplus.view.custom;
-
-import android.content.Context;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.util.AttributeSet;
-
-/**
- * PreCachingLayoutManager
- * <pre>
- * </pre>
- *
- * @author 하세미
- * @version 1.0
- * @history 하세미   [2018-12-04]   [최초 작성]
- * @since 2018-12-04
- */
-public class PreCachingLayoutManager extends LinearLayoutManager {
-
-  private static final int DEFAULT_EXTRA_LAYOUT_SPACE = 600;
-  private int extraLayoutSpace = -1;
-  private Context context;
-
-  public PreCachingLayoutManager(Context context) {
-    super(context);
-  }
-
-  public PreCachingLayoutManager(Context context, int orientation, boolean reverseLayout) {
-    super(context, orientation, reverseLayout);
-  }
-
-  public PreCachingLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-    super(context, attrs, defStyleAttr, defStyleRes);
-  }
-
-  public void setExtraLayoutSpace(int extraLayoutSpace) {
-    this.extraLayoutSpace = extraLayoutSpace;
-  }
-
-  @Override
-  protected int getExtraLayoutSpace(RecyclerView.State state) {
-    if (extraLayoutSpace > 0) {
-      return extraLayoutSpace;
-    }
-    return DEFAULT_EXTRA_LAYOUT_SPACE;
-  }
-}

+ 2 - 3
app/src/main/res/drawable/icon_info_down.xml

@@ -1,7 +1,6 @@
 <vector android:height="14dp" android:viewportHeight="56"
     android:viewportWidth="56" android:width="14dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillAlpha="0.7" android:fillColor="#00000000"
-        android:fillType="evenOdd"
+    <path android:fillColor="#00000000" android:fillType="evenOdd"
         android:pathData="M48,17.333l-20,20 -20,-20"
-        android:strokeAlpha="0.7" android:strokeColor="#666" android:strokeWidth="4"/>
+        android:strokeColor="#666" android:strokeWidth="4"/>
 </vector>

+ 1 - 0
app/src/main/res/layout/dialog_contents_more_info.xml

@@ -70,6 +70,7 @@
         style="@style/ContentsScrollBars"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:fadeScrollbars="false"
         android:fillViewport="true"
         android:paddingStart="8dp"
         android:paddingEnd="8dp">