Browse Source

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

hyodong.min 7 years ago
parent
commit
02849477f3

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/ScreenID.java

@@ -53,6 +53,7 @@ public class ScreenID {
   public static final int THIRD_CATEGORY = 33;
   public static final int FOURTH_CATEGORY = 34;
   public static final int FIFTH_CATEGORY = 35;
+  public static final int ALARM = 36;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({
@@ -60,7 +61,7 @@ public class ScreenID {
     SIGN_UP_START, SIGN_UP_MOBILE_AUTHORIZATION, SIGN_UP_ALREADY_MEMBER, SIGN_UP_NEED_FOR_30DAYS, SIGN_UP_PIN, SIGN_UP_AGREE,
     SIGN_UP_COMPLETED, SIGN_UP_UNDER_14_YEARS, REST_MEMBER_START, REST_MEMBER_ACTIVE_COMPLETED, MEMBER_BLOCK, SIGN_UP_FROM_ON_BOARDING,
     BUCKET, MY_COIN, ALL_MENU, MY_BUCKET, ADD_MY_BUCKET, FAQ_WRITE ,BUCKET_HASH_TAG , FIRST_CATEGORY, SECOND_CATEGORY ,THIRD_CATEGORY,
-    FOURTH_CATEGORY, FIFTH_CATEGORY
+    FOURTH_CATEGORY, FIFTH_CATEGORY, ALARM
 
   })
   public @interface FragmentID {}

+ 66 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/alarm/AlarmFragment.java

@@ -0,0 +1,66 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.design.widget.TabLayout;
+import android.support.v4.view.ViewPager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
+import kr.co.zumo.app.lifeplus.manager.ActionButtonManager;
+import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.fragment.FragmentBase;
+import kr.co.zumo.app.lifeplus.view.presenter.AlarmPresenter;
+
+/**
+ * AlarmFragment
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class AlarmFragment extends FragmentBase<AlarmPresenter> {
+  private TabLayout tabLayoutAlarm;
+  private ViewPager viewPagerAlarm;
+
+  @Override
+  protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.fragment_alarm, container, false);
+  }
+
+  @Override
+  protected void onAfterActivityCreated(Bundle savedInstanceState) {
+    tabLayoutAlarm = findViewById(R.id.alarm_tab_layout);
+    viewPagerAlarm = findViewById(R.id.alarm_view_pager);
+    tabLayoutAlarm.setTabGravity(TabLayout.GRAVITY_FILL);
+  }
+
+  @Override
+  protected void defineActionBar() {
+    ActionBarManager.getInstance().begin().title(R.string.alarm)
+      .menu(actionBar -> presenter.onClickMenu(actionBar))
+      .search(actionBar -> presenter.onClickSearch(actionBar))
+      .back(actionBar -> presenter.onClickBack(actionBar))
+      .show();
+  }
+
+  @Override
+  protected void defineActionButton() {
+    ActionButtonManager.getInstance().begin().trash(floatingActionButton -> {
+      presenter.onEvent(new Event.Builder(Event.CLICK).build());
+    }).show();
+  }
+
+  @Override
+  protected AlarmPresenter definePresenter() {
+    return new AlarmPresenter(getModel(BlankModel.class), this);
+  }
+}

+ 29 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/alarm/AlarmListFragment.java

@@ -0,0 +1,29 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * AlarmListFragment
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class AlarmListFragment extends Fragment {
+
+
+  @Nullable
+  @Override
+  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+    return super.onCreateView(inflater, container, savedInstanceState);
+  }
+}

+ 41 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/alarm/AlarmPagerAdapter.java

@@ -0,0 +1,41 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.support.annotation.NonNull;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentStatePagerAdapter;
+
+/**
+ * AlarmPagerAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class AlarmPagerAdapter extends FragmentStatePagerAdapter {
+
+  private static final int PAGE_COUNT = 3;
+
+
+  public AlarmPagerAdapter(FragmentManager fm) {
+    super(fm);
+  }
+
+  @Override
+  public Fragment getItem(int position) {
+    return null;
+  }
+
+  @Override
+  public int getCount() {
+    return PAGE_COUNT;
+  }
+
+  @Override
+  public int getItemPosition(@NonNull Object object) {
+    return POSITION_NONE;
+  }
+}

+ 13 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/factory/BasicFragmentFactory.java

@@ -6,24 +6,25 @@ package kr.co.zumo.app.lifeplus.view.fragment.factory;
 import android.support.v4.app.Fragment;
 
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
-import kr.co.zumo.app.lifeplus.view.fragment.main.category.FifthCategoryMainFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.main.category.FirstCategoryMainFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.main.category.FourthCategoryMainFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.main.category.SecondCategoryMainFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.main.category.ThirdCategoryMainFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.AddMyBucketListFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.BucketListFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.MyBucketListFragment;
-import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.MyBucketListRelatedTagFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.alarm.AlarmFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.error.NetworkErrorFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.faq.FAQFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.faq.FAQWriteFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.info.PermissionInfoFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.main.MainFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.main.category.FifthCategoryMainFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.main.category.FirstCategoryMainFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.main.category.FourthCategoryMainFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.main.category.SecondCategoryMainFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.main.category.ThirdCategoryMainFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.member.MemberBlockFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.member.MemberRestActiveCompletedFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.member.MemberRestStartFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.menu.AllMenuFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.AddMyBucketListFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.BucketListFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.MyBucketListFragment;
+import kr.co.zumo.app.lifeplus.view.fragment.my.bucketlist.MyBucketListRelatedTagFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.my.coin.MyCoinFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.onboarding.OnBoardingFragment;
 import kr.co.zumo.app.lifeplus.view.fragment.pin.PinConfirmFragment;
@@ -154,6 +155,9 @@ public class BasicFragmentFactory extends FragmentFactory {
       case ScreenID.FIFTH_CATEGORY:
         fragment = new FifthCategoryMainFragment();
         break;
+      case ScreenID.ALARM:
+        fragment = new AlarmFragment();
+        break;
       default:
         break;
     }

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

@@ -0,0 +1,61 @@
+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;
+
+/**
+ * SecondCategoryMainAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class SecondCategoryMainAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+
+  private Context context;
+  private LayoutInflater inflater;
+  private static final int FULL_IMAGE = 0;
+  private static final int DEFAULT_IMAGE = 1;
+
+
+  public SecondCategoryMainAdapter(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 = inflater.inflate(R.layout.main_second_category_image_view, parent, false);
+    return new SecondCategoryMainViewHolder(view);
+  }
+
+  @Override
+  public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+    ((SecondCategoryMainViewHolder) holder).doDataSetting();
+  }
+
+  @Override
+  public int getItemCount() {
+    return 9;
+  }
+
+//  @Override
+//  public int getItemViewType(int position) {
+//    if (position == 0 || position == 5) {
+//      return FULL_IMAGE;
+//    }
+//    else {
+//      return DEFAULT_IMAGE;
+//    }
+//  }
+}

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

@@ -1,15 +1,24 @@
 package kr.co.zumo.app.lifeplus.view.fragment.main.category;
 
+import android.graphics.Rect;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+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.util.ResourceUtil;
+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.SecondCategoryMainPresenter;
 
@@ -25,6 +34,11 @@ import kr.co.zumo.app.lifeplus.view.presenter.main.category.SecondCategoryMainPr
  * @since 2018-10-24
  */
 public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainPresenter> {
+
+  private List<TextImageBean> textImageBeanList;
+  private RecyclerView recyclerViewSecondCategoryMain;
+  private MainSeriesView mainSeriesView;
+
   @Override
   protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
     return inflater.inflate(R.layout.fragment_second_category_main, container, false);
@@ -32,6 +46,22 @@ public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainP
 
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
+    mainSeriesView = findViewById(R.id.series_image_text_view);
+    recyclerViewSecondCategoryMain = findViewById(R.id.recycler_view_second_category_main);
+    doDataSetting();
+    mainSeriesView.init(getActivity(), textImageBeanList, 10);
+    SecondCategoryMainAdapter secondCategoryMainAdapter = new SecondCategoryMainAdapter(getActivity());
+    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
+    recyclerViewSecondCategoryMain.setLayoutManager(linearLayoutManager);
+    recyclerViewSecondCategoryMain.addItemDecoration(new RecyclerView.ItemDecoration() {
+      @Override
+      public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+        super.getItemOffsets(outRect, view, parent, state);
+        outRect.bottom = ResourceUtil.dpToPx(7);
+      }
+    });
+    recyclerViewSecondCategoryMain.setLayoutManager(linearLayoutManager);
+    recyclerViewSecondCategoryMain.setAdapter(secondCategoryMainAdapter);
 
   }
 
@@ -42,10 +72,26 @@ public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainP
       .search(actionBar -> presenter.onClickSearch(actionBar))
       .back(actionBar -> presenter.onClickBack(actionBar))
       .show();
+
   }
 
   @Override
   protected SecondCategoryMainPresenter definePresenter() {
     return new SecondCategoryMainPresenter(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));
+
+  }
 }

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

@@ -0,0 +1,62 @@
+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 kr.co.zumo.app.R;
+
+/**
+ * SecondCategoryMainViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class SecondCategoryMainViewHolder extends RecyclerView.ViewHolder {
+
+//  private ImageView imageViewMainSecondCategory;
+//  private TextView textViewMainSecondCategory;
+    private ImageView imageView1;
+    private ImageView imageView2;
+    private ImageView imageView3;
+//    private ImageView imageView4;
+//    private ImageView imageView5;
+//    private ImageView imageView6;
+//    private ImageView imageView7;
+//    private ImageView imageView8;
+//    private ImageView imageView9;
+
+  public SecondCategoryMainViewHolder(View itemView) {
+    super(itemView);
+//    imageViewMainSecondCategory = itemView.findViewById(R.id.image_view_main_second_category);
+//    textViewMainSecondCategory = itemView.findViewById(R.id.text_view_main_second_title);
+    imageView1 = itemView.findViewById(R.id.first_image_view);
+    imageView2 = itemView.findViewById(R.id.second_image_view);
+    imageView3 = itemView.findViewById(R.id.third_image_view);
+//    imageView4 = itemView.findViewById(R.id.fourth_image_view);
+//    imageView5 = itemView.findViewById(R.id.fifth_image_view);
+//    imageView6 = itemView.findViewById(R.id.sixth_image_view);
+//    imageView7 = itemView.findViewById(R.id.seventh_image_view);
+//    imageView8 = itemView.findViewById(R.id.eighth_image_view);
+//    imageView9 = itemView.findViewById(R.id.ninth_image_view);
+  }
+
+  public void doDataSetting() {
+//    imageViewMainSecondCategory.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    textViewMainSecondCategory.setText(R.string.main_second_category_title);
+    imageView1.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+    imageView2.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+    imageView3.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView4.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView5.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView6.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView7.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView8.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+//    imageView9.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_3));
+
+  }
+}

+ 66 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/AlarmPresenter.java

@@ -0,0 +1,66 @@
+package kr.co.zumo.app.lifeplus.view.presenter;
+
+import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.IView;
+import kr.co.zumo.app.lifeplus.view.command.FragmentBackStackChangeCommand;
+
+/**
+ * AlarmPersenter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-24]   [최초 작성]
+ * @since 2018-10-24
+ */
+public class AlarmPresenter extends Presenter<BlankModel, IView> {
+
+
+  public AlarmPresenter(BlankModel model, IView view) {
+    super(model, view);
+  }
+
+  @Override
+  protected void destroyInternal() {
+
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+
+  @Override
+  public boolean onBackPressed() {
+    onCommand(new FragmentBackStackChangeCommand(ScreenID.MAIN, ScreenID.DIRECTION_BACK));
+    return true;
+  }
+
+  @Override
+  protected void onEventInternal(Event event) {
+
+  }
+
+  @Override
+  public void onResult(Event event) {
+
+  }
+}

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/menu/AllMenuPresenter.java

@@ -93,7 +93,7 @@ public class AllMenuPresenter extends Presenter<AllMenuModel, IView> {
 
   @Override
   public void onClickAlarm(ActionBar actionBar) {
-    Log.i("APP# AllMenuPresenter | onClickAlarm", "|" + "==========================");
+    onCommand(new FragmentBackStackChangeCommand(ScreenID.ALARM, ScreenID.DIRECTION_NEXT));
   }
 
   @Override

+ 35 - 0
app/src/main/res/layout/fragment_alarm.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+  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:id="@+id/main_content"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:background="@color/CFFFFFF"
+  android:orientation="vertical">
+
+  <android.support.design.widget.TabLayout
+    android:id="@+id/alarm_tab_layout"
+    android:layout_width="match_parent"
+    android:layout_height="55dp"
+    android:layout_marginLeft="25dp"
+    android:layout_marginRight="25dp"
+    android:background="@color/CFFFFFF"
+    app:tabBackground="@drawable/tab_indicator"
+    app:tabGravity="center"
+    app:tabIndicatorColor="@color/C000000"/>
+
+  <RelativeLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <android.support.v4.view.ViewPager
+      android:id="@+id/alarm_view_pager"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"/>
+
+  </RelativeLayout>
+
+
+</LinearLayout>

+ 25 - 0
app/src/main/res/layout/fragment_alarm_list.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+  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"
+  android:background="@color/CFFFFFF"
+  android:orientation="vertical">
+
+  <android.support.v7.widget.RecyclerView
+    android:id="@+id/list_view_alarm_contents"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="10dp"
+    android:layout_marginLeft="25dp"
+    android:layout_marginRight="25dp"
+    android:layout_marginTop="26dp"
+    android:divider="@color/CFFFFFF"
+    android:dividerHeight="50dp">
+
+  </android.support.v7.widget.RecyclerView>
+
+
+</RelativeLayout>

+ 53 - 3
app/src/main/res/layout/fragment_second_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_second_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>

+ 35 - 0
app/src/main/res/layout/main_second_category_image_view.xml

@@ -0,0 +1,35 @@
+<?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"
+  >
+
+<ImageView
+  android:id="@+id/first_image_view"
+  android:layout_width="205dp"
+  android:layout_height="205dp"
+  android:scaleType="fitXY"
+  android:src="@drawable/img_bestbucket_banner_5"
+  />
+
+  <ImageView
+    android:id="@+id/second_image_view"
+    android:layout_width="99dp"
+    android:layout_height="99dp"
+    android:scaleType="fitXY"
+    android:src="@drawable/img_bestbucket_banner_4"
+    app:layout_constraintTop_toBottomOf="@+id/first_image_view"
+    />
+  <ImageView
+    android:id="@+id/third_image_view"
+    android:layout_width="99dp"
+    android:layout_height="99dp"
+    android:scaleType="fitXY"
+    android:src="@drawable/img_bestbucket_banner_3"
+    app:layout_constraintTop_toBottomOf="@+id/second_image_view"
+    />
+
+</android.support.constraint.ConstraintLayout>

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

@@ -395,7 +395,10 @@
   <string name="main_fifth_category_title">이번 주\n꼭 알아야 할 이야기</string>
   <string name="main_fifth_category_date">2018.09.17 ~ 2018.09.23</string>
   <string name="main_fifth_category_contents">9월 3주차\n뮤지컬 예매순위 TOP 10</string>
+  <string name="main_second_category_title">디즈니랜드 여행</string>
 
 
+  <string name="alarm">알림</string>
+
 
 </resources>