ソースを参照

[콘텐츠상세][Common] 콘텐츠 마지막장 도달시 토스트 띄우기

Hasemi 7 年 前
コミット
c10d8aac09

+ 23 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsFragment.java

@@ -13,6 +13,7 @@ import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.SnapHelper;
 import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 
@@ -24,6 +25,7 @@ import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailListBean;
 import kr.co.zumo.app.lifeplus.bean.api.SeriesItemBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
+import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 
 /**
@@ -195,8 +197,28 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
         startSmoothScroll(linearSmoothScroller);
       }
     };
-    recyclerViewContentsDetail.setLayoutManager(layoutManager);
+    recyclerViewContentsDetail.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
+      @Override
+      public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent motionEvent) {
+        if (motionEvent.getAction() == MotionEvent.ACTION_MOVE) {
+          if (layoutManager.findFirstVisibleItemPosition() == contentsDetailBeans.size() - 1) {
+            presenter.onEvent(new Event.Builder(Event.NONE).build());
+          }
+        }
+        return false;
+      }
 
+      @Override
+      public void onTouchEvent(RecyclerView rv, MotionEvent motionEvent) {
+
+      }
+
+      @Override
+      public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
+
+      }
+    });
+    recyclerViewContentsDetail.setLayoutManager(layoutManager);
     recyclerViewContentsDetail.setAdapter(adapter);
   }
 

+ 19 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -2,6 +2,7 @@ package kr.co.zumo.app.lifeplus.view.screen.contents;
 
 import android.os.Handler;
 import android.util.Log;
+import android.widget.Toast;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
@@ -174,6 +175,9 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
 //        View view = inflater.inflate(R.layout.tutorial_listicle_cover, null);
 //        frameLayout.addView(view);
         break;
+      case Event.NONE:
+        showLastPageToast();
+        break;
       default:
         break;
     }
@@ -453,4 +457,19 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
         .show();
     }
   }
+
+  private void showLastPageToast() {
+    switch (model.getContentsType()) {
+      case ContentsDetailBean.TYPE_CARD:
+      case ContentsDetailBean.TYPE_CARD_LISTICLE:
+        Toast.makeText(view.getActivity(), R.string.last_contents_card, Toast.LENGTH_SHORT).show();
+        break;
+      case ContentsDetailBean.TYPE_LISTICLE:
+        Toast.makeText(view.getActivity(), R.string.last_contents_listicle, Toast.LENGTH_SHORT).show();
+        break;
+      default:
+        break;
+
+    }
+  }
 }

+ 3 - 0
app/src/main/res/values/strings.xml

@@ -690,6 +690,9 @@
   <string name="listicle_cover_tutorial_1">"<b>전체 콘텐츠</b>"\n공유하고 싶다면 꾹!</string>
   <string name="listicle_cover_tutorial_2">"<b>태그를 누르면</b>"\n다른 콘텐츠를 확인 가능해요</string>
 
+  <string name="last_contents_card">마지막 카드입니다</string>
+  <string name="last_contents_listicle">마지막 장입니다</string>
+
   <string name="inside">실내</string>
   <string name="outside">실외</string>