Browse Source

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

hyodong.min 7 years ago
parent
commit
ac0feee44c

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

@@ -28,6 +28,8 @@ public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailVi
 
   private static final int LISTICLE_COVER = 0;
   private static final int LISTICLE_DETAIL = 1;
+  private static final int SERIES = 2;
+  private static final int WITH_SHOWN_CONTENTS = 3;
 
   public ContentsDetailAdapter(Context context, IEventListener listener) {
     this.context = context;
@@ -47,6 +49,12 @@ public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailVi
       case LISTICLE_DETAIL:
         view = inflater.inflate(R.layout.contents_listicle_detail, parent, false);
         return new ContentsDetailListicleDetailViewHolder(view);
+      case SERIES:
+        view = inflater.inflate(R.layout.cotents_detail_series, parent, false);
+        return new ContentsDetailSeriesViewHolder(view);
+      case WITH_SHOWN_CONTENTS:
+        view = inflater.inflate(R.layout.contents_detail_with_shown, parent, false);
+        return new ContentsDetailWithShownViewHolder(view);
       default:
         break;
     }
@@ -60,7 +68,7 @@ public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailVi
 
   @Override
   public int getItemCount() {
-    return 2;
+    return 4;
   }
 
   @Override
@@ -70,6 +78,10 @@ public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailVi
         return LISTICLE_COVER;
       case 1:
         return LISTICLE_DETAIL;
+      case 2:
+        return SERIES;
+      case 3:
+        return WITH_SHOWN_CONTENTS;
       default:
         break;
 

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

@@ -0,0 +1,19 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import android.view.View;
+
+/**
+ * ContentsDetailSeriesViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-28]   [최초 작성]
+ * @since 2018-11-28
+ */
+public class ContentsDetailSeriesViewHolder extends ContentsDetailView {
+  public ContentsDetailSeriesViewHolder(View itemView) {
+    super(itemView);
+  }
+}

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

@@ -0,0 +1,85 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import android.graphics.Rect;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.MotionEvent;
+import android.view.View;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.IEventListener;
+import kr.co.zumo.app.lifeplus.view.custom.Snapper;
+
+/**
+ * ContentsDetailWithShownViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-28]   [최초 작성]
+ * @since 2018-11-28
+ */
+public class ContentsDetailWithShownViewHolder extends ContentsDetailView {
+
+  private RecyclerView recyclerViewWithShownContents;
+
+
+  public ContentsDetailWithShownViewHolder(View itemView) {
+    super(itemView);
+    recyclerViewWithShownContents = itemView.findViewById(R.id.recycler_view_with_shown_contents);
+
+  }
+
+  @Override
+  public void bind() {
+    ShownWithContentsAdapter shownWithContentsAdapter = new ShownWithContentsAdapter(itemView.getContext(), new IEventListener() {
+      @Override
+      public void onEvent(Event event) {
+
+      }
+    });
+    recyclerViewWithShownContents.setLayoutManager(new LinearLayoutManager(itemView.getContext(), LinearLayoutManager.HORIZONTAL, false));
+    recyclerViewWithShownContents.setAdapter(shownWithContentsAdapter);
+
+    Snapper snapper = new Snapper(recyclerViewWithShownContents, 800);
+    snapper.attachToRecyclerView(recyclerViewWithShownContents);
+
+    recyclerViewWithShownContents.addItemDecoration(new RecyclerView.ItemDecoration() {
+      @Override
+      public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+        outRect.left = ResourceUtil.dpToPx(6);
+        outRect.right = ResourceUtil.dpToPx(6);
+      }
+    });
+
+    recyclerViewWithShownContents.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
+      @Override
+      public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
+        int action = e.getAction();
+        switch (action) {
+          case MotionEvent.ACTION_MOVE:
+          case MotionEvent.ACTION_DOWN:
+          case MotionEvent.ACTION_UP:
+            rv.getParent().requestDisallowInterceptTouchEvent(true);
+            break;
+          default:
+            break;
+        }
+        return false;
+      }
+
+      @Override
+      public void onTouchEvent(RecyclerView rv, MotionEvent e) {
+
+      }
+
+      @Override
+      public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
+
+      }
+    });
+  }
+}

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

@@ -0,0 +1,50 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.IEventListener;
+
+/**
+ * ShownWithContentsAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-28]   [최초 작성]
+ * @since 2018-11-28
+ */
+public class ShownWithContentsAdapter extends RecyclerView.Adapter<ShownWithContentsViewHolder> {
+
+  private Context context;
+  private LayoutInflater inflater;
+  private IEventListener listener;
+
+
+  public ShownWithContentsAdapter(Context context, IEventListener listener) {
+    this.context = context;
+    this.listener = listener;
+    this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+  }
+
+  @NonNull
+  @Override
+  public ShownWithContentsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+    return new ShownWithContentsViewHolder(inflater.inflate(R.layout.contents_detail_with_shown_item_view, parent, false));
+  }
+
+  @Override
+  public void onBindViewHolder(@NonNull ShownWithContentsViewHolder holder, int position) {
+      holder.bind(listener);
+  }
+
+  @Override
+  public int getItemCount() {
+    return 4;
+  }
+}

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

@@ -0,0 +1,41 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.IEventListener;
+
+/**
+ * ShownWithContentsViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-28]   [최초 작성]
+ * @since 2018-11-28
+ */
+public class ShownWithContentsViewHolder extends RecyclerView.ViewHolder {
+
+  private TextView textViewSubtitle;
+  private TextView textViewTitle;
+  private ImageView imageViewBackground;
+
+  public ShownWithContentsViewHolder(View itemView) {
+    super(itemView);
+    textViewSubtitle = itemView.findViewById(R.id.text_view_sub_title);
+    textViewTitle = itemView.findViewById(R.id.text_view_title);
+    imageViewBackground = itemView.findViewById(R.id.image_view_background);
+  }
+
+  public void bind(IEventListener listener) {
+    textViewSubtitle.setText("여유로운 하루를 즐기는 방법");
+    textViewTitle.setText("뜻밖의 행복한 오후 반차\n" +
+      "어디가지? 코스 6");
+    imageViewBackground.setImageDrawable(itemView.getResources().getDrawable(R.drawable.mymain_bucket_banner_3));
+
+  }
+}

+ 49 - 0
app/src/main/res/layout/contents_detail_with_shown.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_marginTop="@dimen/action_bar_height"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:background="@color/CFFFFFF">
+
+  <TextView
+    android:id="@+id/text_view_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="25dp"
+    android:layout_marginTop="30dp"
+    android:lineSpacingExtra="8sp"
+    android:text="@string/with_shown_contents"
+    android:textColor="@color/C000000"
+    android:textSize="21dp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"/>
+
+  <TextView
+    android:id="@+id/text_view_sub_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="25dp"
+    android:layout_marginTop="9dp"
+    android:lineSpacingExtra="6sp"
+    android:text="@string/with_shown_contents_detail"
+    android:textColor="@color/C999999"
+    android:textSize="14dp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_title"/>
+
+  <android.support.v7.widget.RecyclerView
+    android:id="@+id/recycler_view_with_shown_contents"
+    android:layout_width="match_parent"
+    android:layout_height="311dp"
+    android:layout_marginTop="35dp"
+    android:clipToPadding="false"
+    android:paddingStart="19dp"
+    android:paddingEnd="19dp"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_sub_title"/>
+
+</android.support.constraint.ConstraintLayout>

+ 47 - 0
app/src/main/res/layout/contents_detail_with_shown_item_view.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent">
+
+  <ImageView
+    android:id="@+id/image_view_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scaleType="centerCrop"
+    android:src="@drawable/mymain_bucket_banner_3"
+    />
+
+  <TextView
+    android:id="@+id/text_view_sub_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="18dp"
+    android:layout_marginBottom="5dp"
+    android:ellipsize="end"
+    android:lineSpacingExtra="4sp"
+    android:maxLines="1"
+    android:textColor="@color/CFFFFFF"
+    android:textSize="11sp"
+    app:layout_constraintBottom_toTopOf="@+id/text_view_title"
+    app:layout_constraintStart_toStartOf="parent"
+    tools:text="여유로운 하루를 즐기는 방법"/>
+
+  <TextView
+    android:id="@+id/text_view_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="18dp"
+    android:layout_marginBottom="18dp"
+    android:ellipsize="end"
+    android:lineSpacingExtra="8sp"
+    android:maxLines="2"
+    android:textColor="@color/CFFFFFF"
+    android:textSize="19sp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    tools:text="뜻밖의 행복한 오후 반차
+어디가지? 코스 6"/>
+</android.support.constraint.ConstraintLayout>

+ 6 - 0
app/src/main/res/layout/cotents_detail_series.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                                             android:layout_width="match_parent"
+                                             android:layout_height="match_parent">
+
+</android.support.constraint.ConstraintLayout>

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

@@ -672,6 +672,8 @@
   <string name="app_join_recommend">\n회원가입하시면 특별한 혜택을 드립니다.</string>
   <string name="recommend_code_title">추천인코드</string>
 
+  <string name="with_shown_contents">함께 본 콘텐츠</string>
+  <string name="with_shown_contents_detail">이 콘텐츠를 북마크한 분들이\n다음 콘텐츠도 보셨습니다</string>
   <string name="best_bucket_guest_guide">서비스 이용을 위해서 Lifeplus app 회원 확인이 필요합니다.</string>
   <string name="best_bucket_delete_guide">선택된 버킷리스트가 삭제됩니다.</string>