فهرست منبع

[공통][New] ViewUtil 추가

hyodong.min 7 سال پیش
والد
کامیت
1c869ac839

+ 34 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/util/ViewUtil.java

@@ -0,0 +1,34 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.util;
+
+import android.support.v4.view.NestedScrollingParent2;
+import android.view.View;
+import android.view.ViewParent;
+
+/**
+ * ViewUtil
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 12. 10.]   [최초 작성]
+ * @since 2018. 12. 10.
+ */
+public class ViewUtil {
+
+  public static ViewParent getCoodinatorLayoutParent(View view) {
+
+    ViewParent p = view.getParent();
+    while (p != null) {
+      if (p instanceof NestedScrollingParent2) {
+        return p;
+      }
+      p = p.getParent();
+    }
+
+    return null;
+  }
+}

+ 4 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -7,7 +7,6 @@ import android.animation.ObjectAnimator;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
-import android.support.v4.view.NestedScrollingParent2;
 import android.support.v4.view.ViewCompat;
 import android.support.v4.view.ViewParentCompat;
 import android.support.v7.widget.LinearLayoutManager;
@@ -30,6 +29,7 @@ import kr.co.zumo.app.lifeplus.supervisor.ContentsFlagHelper;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
+import kr.co.zumo.app.lifeplus.util.ViewUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 
@@ -49,6 +49,7 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
   private MainContentsAdapter adapter;
   private PageIndicator indicator;
   private MainContentsSnapper snapper;
+  private ViewParent layoutCoordinator;
 
   private RecyclerView.OnScrollListener scrollListener = new RecyclerView.OnScrollListener() {
     @Override
@@ -263,13 +264,8 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
 //      helper.dispatchNestedPreScroll(0, 300, new int[2], new int[2], ViewCompat.TYPE_NON_TOUCH);
 
       // appbar 를 스크롤 시키기위해서 가상 이벤트를 전송한다.
-      ViewParent p = contentsRecyclerView.getParent();
-      ViewParent layoutCoordinator = null;
-      while (p != null) {
-        if (p instanceof NestedScrollingParent2) {
-          layoutCoordinator = p;
-        }
-        p = p.getParent();
+      if (null == layoutCoordinator) {
+        layoutCoordinator = ViewUtil.getCoodinatorLayoutParent(contentsRecyclerView);
       }
 
       if (null != layoutCoordinator) {