瀏覽代碼

[메인][Common] more info 구현

Hasemi 7 年之前
父節點
當前提交
d52ce39125

+ 60 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/contents/CustomMoreInfoView.java

@@ -0,0 +1,60 @@
+package kr.co.zumo.app.lifeplus.view.custom.contents;
+
+import android.content.Context;
+import android.support.annotation.DrawableRes;
+import android.support.constraint.ConstraintLayout;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+
+/**
+ * CustomMoreInfoView
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-29]   [최초 작성]
+ * @since 2018-11-29
+ */
+public class CustomMoreInfoView extends ConstraintLayout {
+
+  @DrawableRes
+  private int iconResource;
+
+  private String contents;
+
+  public CustomMoreInfoView(Context context, int iconResource, String contents) {
+    super(context);
+    this.iconResource = iconResource;
+    this.contents = contents;
+    init(context, iconResource, contents);
+  }
+
+  public CustomMoreInfoView(Context context) {
+    super(context);
+    init(context, iconResource, contents);
+  }
+
+  public CustomMoreInfoView(Context context, AttributeSet attrs) {
+    super(context, attrs);
+    init(context, iconResource, contents);
+  }
+
+  public CustomMoreInfoView(Context context, AttributeSet attrs, int defStyleAttr) {
+    super(context, attrs, defStyleAttr);
+    init(context, iconResource, contents);
+  }
+
+  private void init(Context context, @DrawableRes int iconResource, String contents) {
+    Log.e("APP#  CustomMoreInfoView | init", "|" + "들어옴===>");
+    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+    inflater.inflate(R.layout.custom_contents_information_view, this);
+    ((ImageView) findViewById(R.id.image_view_info)).setImageResource(iconResource);
+    ((TextView) findViewById(R.id.text_view_info)).setText(contents);
+  }
+}

+ 38 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsDetailListicleDetailViewHolder.java

@@ -1,7 +1,6 @@
 package kr.co.zumo.app.lifeplus.view.screen.contents;
 
 import android.support.constraint.ConstraintLayout;
-import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -12,10 +11,12 @@ import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDescriptionBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailImageBean;
+import kr.co.zumo.app.lifeplus.bean.api.ContentsMoreInfoBean;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 import kr.co.zumo.app.lifeplus.view.custom.contents.CustomListicleImageView;
 import kr.co.zumo.app.lifeplus.view.custom.contents.CustomListicleInformationView;
+import kr.co.zumo.app.lifeplus.view.custom.contents.CustomMoreInfoView;
 
 /**
  * ContentsDetailListicleDetailViewHolder
@@ -29,10 +30,17 @@ import kr.co.zumo.app.lifeplus.view.custom.contents.CustomListicleInformationVie
  */
 public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<ContentsDetailBean> {
 
+  private static final String TIME_INFO = "07";
+  private static final String MENU_DETAIL_INFO = "08";
+  private static final String PHONE_INFO = "09";
+  private static final String ADDRESS_INFO = "10";
+  private static final String PARKING_INFO = "11";
+
   private CustomListicleImageView customListicleImageView;
   private ConstraintLayout layoutMoreInfo;
   private ConstraintLayout layoutMoreInfoPopUp;
   private LinearLayout layoutContainer;
+  private LinearLayout layoutMoreInfoContainer;
   private ImageView imageViewInfoDown;
 
   public ContentsDetailListicleDetailViewHolder(View itemView) {
@@ -49,6 +57,7 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
     imageViewInfoDown = itemView.findViewById(R.id.image_view_info_down);
     layoutMoreInfo = itemView.findViewById(R.id.layout_more_info);
     layoutMoreInfoPopUp = itemView.findViewById(R.id.layout_more_info_pop_up);
+    layoutMoreInfoContainer = itemView.findViewById(R.id.layout_more_info_container);
 
     List<ContentsDetailImageBean> contentsDetailImageBeans = bean.getItemImageList();
     customListicleImageView.init(itemView.getContext(), index, bean.getTitle(), bean.getSubTitle(), contentsDetailImageBeans, new IEventListener() {
@@ -64,8 +73,32 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
     }
 
     for (int i = 0; i < bean.getMoreInfoList().size(); i++) {
-      Log.e("APP#  ContentsDetailListicleDetailViewHolder | attach", "|" + bean.getMoreInfoList().get(i).getDetailType());
-      Log.e("APP#  ContentsDetailListicleDetailViewHolder | attach", "|" + bean.getMoreInfoList().get(i).getMoreInfo());
+      CustomMoreInfoView customMoreInfoView = null;
+
+      ContentsMoreInfoBean contentsMoreInfoBean = bean.getMoreInfoList().get(i);
+      switch (contentsMoreInfoBean.getDetailType()) {
+        case TIME_INFO:
+          customMoreInfoView = new CustomMoreInfoView(itemView.getContext(), R.drawable.icon_info_time, contentsMoreInfoBean.getMoreInfo());
+          break;
+        case PARKING_INFO:
+          customMoreInfoView = new CustomMoreInfoView(itemView.getContext(), R.drawable.icon_info_parking, contentsMoreInfoBean.getMoreInfo());
+          break;
+        case MENU_DETAIL_INFO:
+          customMoreInfoView = new CustomMoreInfoView(itemView.getContext(), R.drawable.icon_info_menu, contentsMoreInfoBean.getMoreInfo());
+          break;
+        case PHONE_INFO:
+          break;
+        case ADDRESS_INFO:
+          customMoreInfoView = new CustomMoreInfoView(itemView.getContext(), R.drawable.icon_info_info, contentsMoreInfoBean.getMoreInfo());
+          break;
+        default:
+          break;
+      }
+
+      if (null != customMoreInfoView) {
+        layoutMoreInfoContainer.addView(customMoreInfoView);
+      }
+
     }
 
     layoutMoreInfo.setOnClickListener(view -> {
@@ -85,7 +118,9 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
       customListicleImageView.dispose();
       customListicleImageView = null;
       layoutContainer.removeAllViews();
+      layoutMoreInfoContainer.removeAllViews();
       layoutContainer = null;
+      layoutMoreInfoContainer = null;
     }
   }
 

+ 8 - 70
app/src/main/res/layout/contents_more_info.xml

@@ -43,82 +43,20 @@
   </android.support.constraint.ConstraintLayout>
 
   <ScrollView
+    android:id="@+id/scroll_view"
+    style="@style/ContentsScrollBars"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="19dp"
     app:layout_constraintTop_toBottomOf="@+id/first_layout">
 
-    <android.support.constraint.ConstraintLayout
-
+    <LinearLayout
+      android:id="@+id/layout_more_info_container"
       android:layout_width="match_parent"
-      android:layout_height="wrap_content">
-
-      <android.support.constraint.ConstraintLayout
-        android:id="@+id/layout_time_info"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="19dp"
-        >
-
-        <ImageView
-          android:id="@+id/image_view_time"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_marginStart="26dp"
-          app:layout_constraintStart_toStartOf="parent"
-          app:srcCompat="@drawable/icon_info_time"
-          />
-
-        <TextView
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_marginStart="14dp"
-          android:lineSpacingExtra="9.5sp"
-          android:textColor="@color/C000000"
-          android:textSize="12sp"
-          app:layout_constraintBottom_toBottomOf="parent"
-          app:layout_constraintStart_toEndOf="@+id/image_view_time"
-          app:layout_constraintTop_toTopOf="parent"
-          tools:text="월 ~ 목요일 : 오후 12시 ~ 오후 9시
-토요일 : 오전 10시 ~ 오후 11시
-일요일 : 오전 11시 ~ 오후 11시
-화요일 : 휴무"
-          />
-      </android.support.constraint.ConstraintLayout>
-
-      <android.support.constraint.ConstraintLayout
-        android:id="@+id/layout_menu"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="19dp"
-        app:layout_constraintTop_toBottomOf="@+id/layout_time_info">
-
-        <ImageView
-          android:id="@+id/image_view_menu"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_marginStart="26dp"
-          app:layout_constraintStart_toStartOf="parent"
-          app:srcCompat="@drawable/icon_info_menu"
-          />
-
-        <TextView
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_marginStart="14dp"
-          android:lineSpacingExtra="9.5sp"
-          android:textColor="@color/C000000"
-          android:textSize="12sp"
-          app:layout_constraintBottom_toBottomOf="parent"
-          app:layout_constraintStart_toEndOf="@+id/image_view_menu"
-          app:layout_constraintTop_toTopOf="parent"
-          tools:text="월 ~ 목요일 : 오후 12시 ~ 오후 9시
-토요일 : 오전 10시 ~ 오후 11시
-일요일 : 오전 11시 ~ 오후 11시
-화요일 : 휴무"
-          />
-      </android.support.constraint.ConstraintLayout>
-    </android.support.constraint.ConstraintLayout>
+      android:layout_height="0dp"
+      android:orientation="vertical">
+
+    </LinearLayout>
   </ScrollView>
 
   <android.support.constraint.ConstraintLayout

+ 45 - 0
app/src/main/res/layout/custom_contents_information_view.xml

@@ -0,0 +1,45 @@
+<?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="wrap_content">
+
+
+  <android.support.constraint.ConstraintLayout
+    android:id="@+id/layout_time_info"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_marginTop="19dp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintTop_toTopOf="parent"
+
+    >
+
+    <ImageView
+      android:id="@+id/image_view_info"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginStart="26dp"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintEnd_toStartOf="@+id/text_view_info"
+      app:srcCompat="@drawable/icon_info_time"
+      />
+
+    <TextView
+      android:id="@+id/text_view_info"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginStart="14dp"
+      android:lineSpacingExtra="9.5sp"
+      android:textColor="@color/C000000"
+      android:textSize="12sp"
+      android:maxWidth="248dp"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintStart_toEndOf="@+id/image_view_info"
+      app:layout_constraintTop_toTopOf="parent"
+      tools:text="노을이 질 때 테라스에서 보는 풍경이 매우 아름답다. 한번 해가 질 시간에 맞춰 방문해보자 "
+      />
+  </android.support.constraint.ConstraintLayout>
+</android.support.constraint.ConstraintLayout>