Forráskód Böngészése

[메인][Common] 콘텐츠상세 구현중

Hasemi 7 éve
szülő
commit
c6f031662d

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

@@ -0,0 +1,59 @@
+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.lifeplus.view.IEventListener;
+
+/**
+ * ContentsDetailAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-27]   [최초 작성]
+ * @since 2018-11-27
+ */
+public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailView> {
+
+  private Context context;
+  private LayoutInflater inflater;
+  private IEventListener listener;
+
+  public ContentsDetailAdapter(Context context, IEventListener listener) {
+    this.context = context;
+    this.listener = listener;
+    this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+  }
+
+  @NonNull
+  @Override
+  public ContentsDetailView onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+    return null;
+  }
+
+  @Override
+  public void onBindViewHolder(@NonNull ContentsDetailView holder, int position) {
+
+  }
+
+  @Override
+  public int getItemCount() {
+    return 0;
+  }
+
+  @Override
+  public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
+    super.onAttachedToRecyclerView(recyclerView);
+  }
+
+  @Override
+  public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) {
+    super.onDetachedFromRecyclerView(recyclerView);
+  }
+}

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

@@ -0,0 +1,83 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+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 kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.IEventListener;
+import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+
+/**
+ * ContentsDetailFragment
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-27]   [최초 작성]
+ * @since 2018-11-27
+ */
+public class ContentsDetailFragment extends FragmentBase<ContentsDetailPresenter> implements IContentsDetailView {
+
+  private RecyclerView recyclerViewContentsDetail;
+
+  @Override
+  protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.fragment_contents_detail, container, false);
+  }
+
+  @Override
+  protected void onAfterActivityCreated(Bundle savedInstanceState) {
+    recyclerViewContentsDetail = findViewById(R.id.recycler_view_contents_detail);
+    ContentsDetailAdapter adapter = new ContentsDetailAdapter(getActivity(), new IEventListener() {
+      @Override
+      public void onEvent(Event event) {
+
+      }
+    });
+    recyclerViewContentsDetail.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
+    recyclerViewContentsDetail.setAdapter(adapter);
+  }
+
+  @Override
+  protected void defineActionBar(ActionBarHelper actionBarHelper) {
+    actionBarHelper.begin()
+      .back(actionBar -> presenter.onNavigationClickBack(actionBar))
+      .home(actionBar -> presenter.onNavigationClickHome(actionBar))
+      .bookmark(actionBar -> presenter.onNavigationClickBookmark(actionBar))
+      .like(actionBar -> presenter.onNavigationClickLike(actionBar))
+      .share(actionBar -> presenter.onNavigationClickShare(actionBar))
+      .white()
+      .transparent()
+      .show();
+  }
+
+  @Override
+  protected ContentsDetailPresenter definePresenter() {
+
+    return new ContentsDetailPresenter(getModel(ContentsDetailModel.class), this);
+  }
+
+  @Override
+  protected void onAfterDestroyView() {
+
+  }
+
+  @Override
+  protected void onAfterDestroy() {
+
+  }
+
+  @Override
+  protected boolean isSkipScreenWhenBack() {
+    return false;
+  }
+}

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

@@ -0,0 +1,50 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import kr.co.zumo.app.lifeplus.model.Model;
+
+/**
+ * ContentsDetailModel
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-27]   [최초 작성]
+ * @since 2018-11-27
+ */
+public class ContentsDetailModel extends Model {
+  @Override
+  protected void createViewInternal() {
+
+  }
+
+  @Override
+  protected void destroyInternal() {
+
+  }
+
+  @Override
+  protected void destroyViewInternal() {
+
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+}

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

@@ -0,0 +1,77 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
+
+/**
+ * ContentsDetailPresenter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-27]   [최초 작성]
+ * @since 2018-11-27
+ */
+public class ContentsDetailPresenter extends Presenter<ContentsDetailModel, IContentsDetailView> {
+
+
+  public ContentsDetailPresenter(ContentsDetailModel model, IContentsDetailView view) {
+    super(model, view);
+  }
+
+  @Override
+  protected void createViewInternal() {
+
+  }
+
+  @Override
+  protected void destroyInternal() {
+
+  }
+
+  @Override
+  protected void destroyViewInternal() {
+
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+
+  @Override
+  public boolean onBackPressed() {
+    return false;
+  }
+
+  @Override
+  protected void onEventInternal(Event event) {
+
+  }
+
+  @Override
+  public void onScreenReady() {
+
+  }
+
+  @Override
+  public void onResult(Event event) {
+
+  }
+}

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

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

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

@@ -66,6 +66,7 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
 
   @Override
   protected ContentsPresenter definePresenter() {
+
     return new ContentsPresenter(getModel(ContentsModel.class), this);
   }
 

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

@@ -0,0 +1,16 @@
+package kr.co.zumo.app.lifeplus.view.screen.contents;
+
+import kr.co.zumo.app.lifeplus.view.IView;
+
+/**
+ * IContentsDetailView
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-11-27]   [최초 작성]
+ * @since 2018-11-27
+ */
+public interface IContentsDetailView extends IView {
+}

+ 5 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/factory/BasicFragmentFactory.java

@@ -13,7 +13,9 @@ import kr.co.zumo.app.lifeplus.view.screen.category.type2.SecondCategoryMainFrag
 import kr.co.zumo.app.lifeplus.view.screen.category.type3.ThirdCategoryMainFragment;
 import kr.co.zumo.app.lifeplus.view.screen.category.type4.FourthCategoryMainFragment;
 import kr.co.zumo.app.lifeplus.view.screen.category.type5.FifthCategoryMainFragment;
+import kr.co.zumo.app.lifeplus.view.screen.contents.ContentsDetailFragment;
 import kr.co.zumo.app.lifeplus.view.screen.contents.ContentsFragment;
+import kr.co.zumo.app.lifeplus.view.screen.contents.ContentsOverviewFragment;
 import kr.co.zumo.app.lifeplus.view.screen.couponmall.CouponMallFragment;
 import kr.co.zumo.app.lifeplus.view.screen.error.NetworkErrorFragment;
 import kr.co.zumo.app.lifeplus.view.screen.error.NetworkErrorStartingFragment;
@@ -22,7 +24,6 @@ import kr.co.zumo.app.lifeplus.view.screen.faq.FAQFragment;
 import kr.co.zumo.app.lifeplus.view.screen.faq.FAQWriteFragment;
 import kr.co.zumo.app.lifeplus.view.screen.faq.MyFAQFragment;
 import kr.co.zumo.app.lifeplus.view.screen.guide.LifeplusIntroductionFragment;
-import kr.co.zumo.app.lifeplus.view.screen.contents.ContentsOverviewFragment;
 import kr.co.zumo.app.lifeplus.view.screen.main.MainFragment;
 import kr.co.zumo.app.lifeplus.view.screen.main.pin.MainPinUnlockFragment;
 import kr.co.zumo.app.lifeplus.view.screen.member.MemberBlockFragment;
@@ -300,6 +301,9 @@ public class BasicFragmentFactory extends FragmentFactory {
       case ScreenID.SERIES:
         fragment = new CategoryMainSeriesFragment();
         break;
+      case ScreenID.CONTENTS_NATIVE:
+        fragment = new ContentsDetailFragment();
+        break;
       default:
         break;
     }

+ 12 - 0
app/src/main/res/layout/fragment_contents_detail.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="match_parent">
+
+  <android.support.v7.widget.RecyclerView
+    android:id="@+id/recycler_view_contents_detail"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"/>
+
+</android.support.constraint.ConstraintLayout>