فهرست منبع

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

hyodong.min 7 سال پیش
والد
کامیت
5723dc8d82

+ 22 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventDetailFragment.java

@@ -10,6 +10,7 @@ import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.TextView;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
@@ -34,6 +35,7 @@ public class EventDetailFragment extends FragmentBase<EventDetailPresenter> impl
   private RecyclerView recyclerViewEventDetail;
   private EventDetailAdapter adapter;
   private LinearLayoutManager layoutManager;
+  private TextView textViewPageNumber;
 
   private RecyclerView.OnScrollListener scrollEventListener;
 
@@ -45,6 +47,7 @@ public class EventDetailFragment extends FragmentBase<EventDetailPresenter> impl
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
     recyclerViewEventDetail = findViewById(R.id.recycler_view_event_detail);
+    textViewPageNumber = findViewById(R.id.text_view_page_number);
   }
 
   @Override
@@ -116,9 +119,11 @@ public class EventDetailFragment extends FragmentBase<EventDetailPresenter> impl
       }
 
     };
+
     scrollEventListener = new IndexScrollListener(layoutManager, index -> {
-      // presenter.onChangedPageIndex(index);
+      presenter.onChangedPageIndex(index);
     });
+
     recyclerViewEventDetail.addOnScrollListener(scrollEventListener);
     recyclerViewEventDetail.setLayoutManager(layoutManager);
     recyclerViewEventDetail.setAdapter(adapter);
@@ -128,4 +133,20 @@ public class EventDetailFragment extends FragmentBase<EventDetailPresenter> impl
   public void setScrollToPosition(int i) {
     recyclerViewEventDetail.smoothScrollToPosition(i);
   }
+
+  @Override
+  public void setPageNumber(String pageNumber) {
+    textViewPageNumber.setVisibility(View.VISIBLE);
+    textViewPageNumber.setText(pageNumber);
+  }
+
+  @Override
+  public void hidePageNumberArea() {
+    textViewPageNumber.setVisibility(View.GONE);
+  }
+
+  @Override
+  public void setScrollEnabled(boolean isScrollEnabled) {
+    recyclerViewEventDetail.setNestedScrollingEnabled(isScrollEnabled);
+  }
 }

+ 23 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventDetailPresenter.java

@@ -103,6 +103,9 @@ public class EventDetailPresenter extends Presenter<EventDetailModel, IEventDeta
           showPopupForGuest();
         }
         break;
+      case Event.RECOMMEND:
+        view.setScrollToPosition(event.getIndex() + 1);
+        break;
       case Event.DETAIL:
         showEventNoticeDialog();
         break;
@@ -194,4 +197,24 @@ public class EventDetailPresenter extends Presenter<EventDetailModel, IEventDeta
       })
       .show();
   }
+
+  public void onChangedPageIndex(int index) {
+    if (model.getEventDetailType() == 0) {//참여형 이벤트일 때 페이지 번호 노출
+      if (index != 0) {
+        view.setPageNumber(index + " / 5"); // TODO: 마지막 페이지에서 페이지번호는 뜨지 않는다
+      }
+    }
+    else {
+      view.hidePageNumberArea();
+    }
+
+    if (model.getEventDetailType() == 1) {//복합형(투표)시 스크롤 제어 해야됨
+      if (index == 0) {
+        view.setScrollEnabled(false);
+      }
+      else {
+        view.setScrollEnabled(true);
+      }
+    }
+  }
 }

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventSelectResultHolder.java

@@ -56,6 +56,7 @@ public class EventSelectResultHolder extends EventDetailView {
     //유의사항 팝업 노출
     imageViewIconConfirm.setOnClickListener(view -> {listener.onEvent(new Event.Builder(Event.DETAIL).build());});
     textViewConfirm.setOnClickListener(view -> {listener.onEvent(new Event.Builder(Event.DETAIL).build());});
+    buttonRecommnedContents.setOnClickListener(view -> {listener.onEvent(new Event.Builder(Event.RECOMMEND).index(getAdapterPosition()).build());});
 
   }
 }

+ 6 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/IEventDetailView.java

@@ -17,4 +17,10 @@ public interface IEventDetailView extends IView {
   void drawEventDetailContents(int eventDetailType);
 
   void setScrollToPosition(int i);
+
+  void setPageNumber(String pageNumber);
+
+  void hidePageNumberArea();
+
+  void setScrollEnabled(boolean isScrollEnabled);
 }

+ 7 - 1
app/src/main/res/layout/event_enter_type_detail.xml

@@ -10,6 +10,12 @@
     android:id="@+id/image_view_event_detail"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/CC5C5C5"
+    android:background="@color/CF8F8F8"
     android:scaleType="centerCrop"/>
+  <View
+    android:id="@+id/view_dim_1"
+    android:layout_width="match_parent"
+    android:layout_height="72dp"
+    android:background="@drawable/card_dim_bottom_12"
+    app:layout_constraintBottom_toBottomOf="parent"/>
 </android.support.constraint.ConstraintLayout>