Преглед на файлове

[카테고리메인][Common] 취미생활 뭐있지 페이지 구현

Hasemi преди 7 години
родител
ревизия
58d92cbaa5

+ 0 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/FirstCategoryMainAdapter.java

@@ -29,8 +29,6 @@ public class FirstCategoryMainAdapter extends RecyclerView.Adapter<RecyclerView.
   public FirstCategoryMainAdapter(Context context) {
     this.context = context;
     this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
-
   }
 
   @NonNull

+ 81 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/ThirdCategoryMainAdapter.java

@@ -0,0 +1,81 @@
+package kr.co.zumo.app.lifeplus.view.fragment.main.category;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import kr.co.zumo.app.R;
+
+/**
+ * ThirdCategoryMainAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class ThirdCategoryMainAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+
+  private Context context;
+  private LayoutInflater inflater;
+  public static final int GRID_VIEW_TYPE = 0;
+  public static final int LINEAR_VIEW_TYPE = 1;
+
+
+  public ThirdCategoryMainAdapter(Context context) {
+    this.context = context;
+    this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+  }
+
+  @NonNull
+  @Override
+  public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+    View view;
+    switch (viewType) {
+      case GRID_VIEW_TYPE:
+        view = inflater.inflate(R.layout.main_third_category_grid_view, parent, false);
+        return new ThirdCategoryMainGridViewHolder(view);
+      case LINEAR_VIEW_TYPE:
+        view = inflater.inflate(R.layout.main_third_category_linear_view, parent, false);
+        return new ThirdCategoryMainLinearViewHolder(view);
+        default:
+          break;
+    }
+    return null;
+  }
+
+  @Override
+  public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+    switch (getItemViewType(position)) {
+      case GRID_VIEW_TYPE:
+        ((ThirdCategoryMainGridViewHolder) holder).doDataSetting();
+        break;
+      case LINEAR_VIEW_TYPE:
+        ((ThirdCategoryMainLinearViewHolder) holder).doDataSetting();
+        break;
+      default:
+        break;
+    }
+
+  }
+
+  @Override
+  public int getItemCount() {
+    return 9;
+  }
+
+  @Override
+  public int getItemViewType(int position) {
+    if (position == 4) {
+      return LINEAR_VIEW_TYPE;
+    }
+    else {
+      return GRID_VIEW_TYPE;
+    }
+  }
+}

+ 53 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/ThirdCategoryMainFragment.java

@@ -3,13 +3,20 @@ package kr.co.zumo.app.lifeplus.view.fragment.main.category;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.bean.TextImageBean;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.view.custom.main.series.MainSeriesView;
 import kr.co.zumo.app.lifeplus.view.fragment.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.presenter.main.category.ThirdCategoryMainPresenter;
 
@@ -24,6 +31,12 @@ import kr.co.zumo.app.lifeplus.view.presenter.main.category.ThirdCategoryMainPre
  * @since 2018-10-24
  */
 public class ThirdCategoryMainFragment extends FragmentBase<ThirdCategoryMainPresenter> {
+
+  private List<TextImageBean> textImageBeanList;
+  private MainSeriesView mainSeriesView;
+  private RecyclerView recyclerViewThirdCategoryMain;
+
+
   @Override
   protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
     return inflater.inflate(R.layout.fragment_third_category_main, container, false);
@@ -31,7 +44,31 @@ public class ThirdCategoryMainFragment extends FragmentBase<ThirdCategoryMainPre
 
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
-
+    mainSeriesView = findViewById(R.id.series_image_text_view);
+    recyclerViewThirdCategoryMain = findViewById(R.id.recycler_view_third_category_main);
+    doDataSetting();
+    mainSeriesView.init(getActivity(), textImageBeanList, 10);
+    ThirdCategoryMainAdapter thirdCategoryMainAdapter = new ThirdCategoryMainAdapter(getActivity());
+    GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
+    gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
+      @Override
+      public int getSpanSize(int position) {
+        switch (thirdCategoryMainAdapter.getItemViewType(position)) {
+          case ThirdCategoryMainAdapter.GRID_VIEW_TYPE:
+            //리싸이컬르뷰 영역 한개 원래대로씀
+            return 1;
+          case ThirdCategoryMainAdapter.LINEAR_VIEW_TYPE:
+            //리싸이클러뷰 영역 2개를 합침
+            return 2;
+          default:
+            break;
+        }
+        return 0;
+      }
+    });
+    recyclerViewThirdCategoryMain.addItemDecoration(new GridItemDecoration());
+    recyclerViewThirdCategoryMain.setLayoutManager(gridLayoutManager);
+    recyclerViewThirdCategoryMain.setAdapter(thirdCategoryMainAdapter);
   }
 
   @Override
@@ -47,4 +84,19 @@ public class ThirdCategoryMainFragment extends FragmentBase<ThirdCategoryMainPre
   protected ThirdCategoryMainPresenter definePresenter() {
     return new ThirdCategoryMainPresenter(getModel(BlankModel.class), this);
   }
+
+  public void doDataSetting() {
+    textImageBeanList = new ArrayList<>();
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_1, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_2, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_3, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_4, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_5, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_6, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_7, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_8, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_9, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_10, R.string.my_coin));
+
+  }
 }

+ 35 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/ThirdCategoryMainGridViewHolder.java

@@ -0,0 +1,35 @@
+package kr.co.zumo.app.lifeplus.view.fragment.main.category;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+
+/**
+ * ThirdCategoryMainViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class ThirdCategoryMainGridViewHolder extends RecyclerView.ViewHolder {
+
+  private ImageView imageViewMainThirdCategory;
+  private TextView textViewMainThirdCategory;
+
+  public ThirdCategoryMainGridViewHolder(View itemView) {
+    super(itemView);
+    imageViewMainThirdCategory = itemView.findViewById(R.id.image_view_main_third_category);
+    textViewMainThirdCategory = itemView.findViewById(R.id.text_view_main_third_category);
+  }
+
+  public void doDataSetting(){
+    imageViewMainThirdCategory.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_banner_1));
+    textViewMainThirdCategory.setText(R.string.contents_category3_action_bar_title);
+  }
+}

+ 40 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/ThirdCategoryMainLinearViewHolder.java

@@ -0,0 +1,40 @@
+package kr.co.zumo.app.lifeplus.view.fragment.main.category;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.bean.TextImageBean;
+import kr.co.zumo.app.lifeplus.view.custom.main.banner.MainBannerView;
+
+/**
+ * ThirdCategoryMainLinearViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class ThirdCategoryMainLinearViewHolder extends RecyclerView.ViewHolder {
+
+  private MainBannerView mainBannerViewFirstCategory;
+
+  public ThirdCategoryMainLinearViewHolder(View itemView) {
+    super(itemView);
+    mainBannerViewFirstCategory = itemView.findViewById(R.id.main_banner_view_first_category);
+  }
+
+  public void doDataSetting() {
+
+    List<TextImageBean> imageBeanList = new ArrayList<>();
+    imageBeanList.add(new TextImageBean(R.drawable.img_bestbucket_banner_1));
+    imageBeanList.add(new TextImageBean(R.drawable.img_bestbucket_banner_2));
+    mainBannerViewFirstCategory.init(itemView.getContext(), imageBeanList, 2);
+
+  }
+}

+ 1 - 1
app/src/main/res/layout/fragment_first_category_main.xml

@@ -21,7 +21,7 @@
     app:layout_constraintTop_toBottomOf="@id/series_image_text_view">
 
     <Spinner
-      android:id="@+id/spinner_mobile_company"
+      android:id="@+id/spinner_select_contents"
       android:layout_width="wrap_content"
       android:layout_height="45dp"
       android:layout_marginStart="25dp"

+ 53 - 3
app/src/main/res/layout/fragment_third_category_main.xml

@@ -1,6 +1,56 @@
 <?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
+  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">
 
+  <kr.co.zumo.app.lifeplus.view.custom.main.series.MainSeriesView
+    android:id="@+id/series_image_text_view"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="23dp"
+    android:clipToPadding="false">
+  </kr.co.zumo.app.lifeplus.view.custom.main.series.MainSeriesView>
+
+  <RelativeLayout
+    android:id="@+id/relativeLayout"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    app:layout_constraintTop_toBottomOf="@id/series_image_text_view">
+
+    <Spinner
+      android:id="@+id/spinner_select_contents"
+      android:layout_width="wrap_content"
+      android:layout_height="45dp"
+      android:layout_marginStart="25dp"
+      android:background="@drawable/filter_drop_down"
+      android:entries="@array/main_filter"
+      android:focusable="true"
+      android:textColor="@color/C000000"
+      android:textSize="14sp"/>
+
+    <ImageView
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_alignParentEnd="true"
+      android:layout_marginEnd="10dp"
+      android:padding="14dp"
+      app:srcCompat="@drawable/ic_filter_de"
+      />
+  </RelativeLayout>
+
+  <android.support.v7.widget.RecyclerView
+    android:id="@+id/recycler_view_third_category_main"
+    android:layout_width="match_parent"
+    android:layout_height="0dp"
+    android:clipToPadding="false"
+    android:layout_marginStart="16dp"
+    android:layout_marginEnd="16dp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintTop_toBottomOf="@id/relativeLayout"
+    app:layout_constraintLeft_toLeftOf="parent"
+    app:layout_constraintRight_toRightOf="parent"
+    />
 </android.support.constraint.ConstraintLayout>

+ 29 - 0
app/src/main/res/layout/main_third_category_grid_view.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  android:layout_width="match_parent"
+  android:layout_height="wrap_content">
+  
+  <ImageView
+    android:id="@+id/image_view_main_third_category"
+    android:layout_width="match_parent"
+    android:layout_height="148dp"
+    android:src="@drawable/img_bestbucket_banner_5"
+    android:scaleType="fitXY"
+    />
+
+  <TextView
+    android:id="@+id/text_view_main_third_category"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:textSize="14sp"
+    android:textColor="@color/C000000"
+    android:lineSpacingExtra="6sp"
+    android:layout_marginTop="11dp"
+    app:layout_constraintTop_toBottomOf="@+id/image_view_main_third_category"
+    tools:text="샤오룽바오\n만들기"
+    />
+
+</android.support.constraint.ConstraintLayout>

+ 12 - 0
app/src/main/res/layout/main_third_category_linear_view.xml

@@ -0,0 +1,12 @@
+<?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="wrap_content">
+
+  <kr.co.zumo.app.lifeplus.view.custom.main.banner.MainBannerView
+    android:id="@+id/main_banner_view_first_category"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"/>
+
+</android.support.constraint.ConstraintLayout>