瀏覽代碼

[메인][New] 세로로 긴 화면에서 인디케이터 표시 오류 수정

hyodong.min 6 年之前
父節點
當前提交
5b7f07554a

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainContentsCategoryHolder.java

@@ -67,7 +67,7 @@ public class MainContentsCategoryHolder extends MainContentsHolder {
     // 두 번째 홀더부터는 화면에 cy = 0 ~ screenHeight
     int cy = (int) (itemView.getY() + recyclerView.getY());
     int screenHeight = ((View) itemView.getParent()).getHeight();
-    if (cy > 0 && cy < screenHeight/* - (recyclerView.getHeight() >> 1)*/) {
+    if (cy > 0 && cy < screenHeight - recyclerView.getHeight()/* - (recyclerView.getHeight() >> 1)*/) {
       return true;
     }
 

+ 5 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainContentsWeatherHolder.java

@@ -115,11 +115,11 @@ public class MainContentsWeatherHolder extends MainContentsHolder {
   @Override
   public boolean isFocused() {
     // 두 번째 홀더부터는 화면에 cy = 0 ~ screenHeight
-    int cy = (int) (itemView.getY());
-    int height = itemView.getHeight();
-    if (0 >= cy && cy > -(height >> 2)) {
-      return true;
-    }
+//    int cy = (int) (itemView.getY());
+//    int height = itemView.getHeight();
+//    if (0 >= cy && cy > -(height >> 2)) {
+//      return true;
+//    }
 
     return false;
   }

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

@@ -73,11 +73,11 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
 
         /**
          * 홀더에게 포커스 여부를 확인한다.
-         * 위쪽부터 순서대로 체크한다.
+         * 아래쪽 우선
          */
         int itemCount = recyclerView.getAdapter().getItemCount();
-        int activePosition = 0;
-        for (int i = 0; i < itemCount; ++i) {
+        int activePosition = -1;
+        for (int i = itemCount - 1; i >= 0; --i) {
           MainContentsHolder mainContentsHolder = (MainContentsHolder) recyclerView.findViewHolderForAdapterPosition(i);
           if (null != mainContentsHolder && mainContentsHolder.isFocused()) {
             activePosition = i;
@@ -86,7 +86,9 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
         }
 
         presenter.touch();
-        presenter.onScrolled(activePosition);
+        if (activePosition > -1) {
+          presenter.onScrolled(activePosition);
+        }
 
         actionBarScroller.scroll(dy);
       }