Parcourir la source

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

hyodong.min il y a 7 ans
Parent
commit
1642396c4d

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

@@ -0,0 +1,55 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+
+/**
+ * AlarmExpandableViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-25]   [최초 작성]
+ * @since 2018-10-25
+ */
+public class AlarmExpandableViewHolder extends RecyclerView.ViewHolder {
+  private TextView textViewAlarmCategory;
+  private TextView textViewAlarmTitle;
+  private TextView textViewAlarmDate;
+  private TextView textViewAlarmContents;
+  private ImageView imageViewOpenArrow;
+  private RelativeLayout relativeLayoutDetailContents;
+
+  public AlarmExpandableViewHolder(View itemView) {
+    super(itemView);
+    textViewAlarmCategory = itemView.findViewById(R.id.text_view_alarm_category);
+    textViewAlarmTitle = itemView.findViewById(R.id.text_view_alarm_title);
+    textViewAlarmDate = itemView.findViewById(R.id.text_view_alarm_date);
+    textViewAlarmContents = itemView.findViewById(R.id.text_view_alarm_contents);
+    imageViewOpenArrow = itemView.findViewById(R.id.image_view_open_arrow);
+    relativeLayoutDetailContents = itemView.findViewById(R.id.layout_detail_contents);
+
+  }
+
+  public void doDataSetting() {
+    textViewAlarmCategory.setText(R.string.event);
+    textViewAlarmTitle.setText(R.string.event_title);
+    textViewAlarmDate.setText(R.string.event_date);
+    textViewAlarmContents.setText(R.string.event_contents);
+
+    View.OnClickListener clickListener = view -> {
+      relativeLayoutDetailContents.setVisibility(relativeLayoutDetailContents.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
+      imageViewOpenArrow.setRotation(relativeLayoutDetailContents.getVisibility() == View.GONE? 0 : 180);
+    };
+
+    textViewAlarmTitle.setOnClickListener(clickListener);
+    imageViewOpenArrow.setOnClickListener(clickListener);
+
+  }
+}

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

@@ -28,6 +28,10 @@ import kr.co.zumo.app.lifeplus.view.presenter.AlarmPresenter;
  * @since 2018-10-24
  */
 public class AlarmFragment extends FragmentBase<AlarmPresenter> {
+
+  public static final String CATEGORY_ALL = "전체";
+  public static final String CATEGORY_NEWS = "소식";
+  public static final String CATEGORY_NOTICE = "공지";
   private TabLayout tabLayoutAlarm;
   private ViewPager viewPagerAlarm;
 
@@ -41,6 +45,11 @@ public class AlarmFragment extends FragmentBase<AlarmPresenter> {
     tabLayoutAlarm = findViewById(R.id.alarm_tab_layout);
     viewPagerAlarm = findViewById(R.id.alarm_view_pager);
     tabLayoutAlarm.setTabGravity(TabLayout.GRAVITY_FILL);
+    String[] tab = {CATEGORY_ALL, CATEGORY_NEWS, CATEGORY_NOTICE};
+    AlarmPagerAdapter alarmPagerAdapter = new AlarmPagerAdapter(getChildFragmentManager(), tab);
+    tabLayoutAlarm.setupWithViewPager(viewPagerAlarm, true);
+    viewPagerAlarm.setAdapter(alarmPagerAdapter);
+    alarmPagerAdapter.notifyDataSetChanged();
   }
 
   @Override
@@ -59,6 +68,7 @@ public class AlarmFragment extends FragmentBase<AlarmPresenter> {
     }).show();
   }
 
+
   @Override
   protected AlarmPresenter definePresenter() {
     return new AlarmPresenter(getModel(BlankModel.class), this);

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

@@ -0,0 +1,53 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+
+/**
+ * AlarmImageTextViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-25]   [최초 작성]
+ * @since 2018-10-25
+ */
+public class AlarmImageTextViewHolder extends RecyclerView.ViewHolder {
+
+
+  private TextView textViewAlarmCategory;
+  private TextView textViewAlarmTitle;
+  private TextView textViewAlarmDate;
+  private TextView textViewAlarmDetail;
+  private ImageView imageViewContents;
+  private ImageView imageViewOpenArrow;
+  private TextView textViewShowContents;
+
+
+  public AlarmImageTextViewHolder(View itemView) {
+    super(itemView);
+    textViewAlarmCategory = itemView.findViewById(R.id.text_view_category);
+    textViewAlarmTitle = itemView.findViewById(R.id.text_view_title);
+    textViewAlarmDate = itemView.findViewById(R.id.text_view_date);
+    textViewAlarmDetail = itemView.findViewById(R.id.text_view_detail);
+    imageViewOpenArrow = itemView.findViewById(R.id.image_view_open_arrow);
+    imageViewContents = itemView.findViewById(R.id.image_view_contents);
+    textViewShowContents = itemView.findViewById(R.id.text_view_show_contents);
+  }
+
+  public void doDataSetting() {
+
+    textViewAlarmCategory.setText(R.string.event);
+    textViewAlarmTitle.setText(R.string.event_title);
+    textViewAlarmDate.setText(R.string.event_date);
+    textViewAlarmDetail.setText(R.string.event_contents);
+    imageViewContents.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_bestbucket_banner_3));
+    textViewShowContents.setText(R.string.show_event);
+
+  }
+}

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

@@ -0,0 +1,102 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+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;
+
+/**
+ * AlarmListAdapter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-25]   [최초 작성]
+ * @since 2018-10-25
+ */
+public class AlarmListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+
+  private Context context;
+  private LayoutInflater inflater;
+  private static final int TEXT_EXPANDABLE_TYPE = 0;
+  private static final int IMAGE_TEXT_TYPE = 1;
+  private static final int TEXT_TYPE = 2;
+  private static final int TEXT_LINK_TYPE = 3;
+
+
+  public AlarmListAdapter(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 TEXT_EXPANDABLE_TYPE:
+        view = inflater.inflate(R.layout.alarm_expandable_contents, parent, false);
+        return new AlarmExpandableViewHolder(view);
+      case IMAGE_TEXT_TYPE:
+        view = inflater.inflate(R.layout.alarm_image_text_contents, parent, false);
+        return new AlarmImageTextViewHolder(view);
+      case TEXT_TYPE:
+      case TEXT_LINK_TYPE:
+        view = inflater.inflate(R.layout.alarm_text_contents, parent, false);
+        return new AlarmTextViewHolder(view);
+      default:
+        break;
+    }
+    return null;
+  }
+
+  @Override
+  public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+    switch (getItemViewType(position)) {
+      case TEXT_EXPANDABLE_TYPE:
+        ((AlarmExpandableViewHolder) holder).doDataSetting();
+        break;
+      case IMAGE_TEXT_TYPE:
+        ((AlarmImageTextViewHolder) holder).doDataSetting();
+        break;
+      case TEXT_TYPE:
+      case TEXT_LINK_TYPE:
+        ((AlarmTextViewHolder) holder).doDataSetting();
+        break;
+      default:
+        break;
+    }
+  }
+
+  @Override
+  public int getItemCount() {
+    return 7;
+  }
+
+  @Override
+  public int getItemViewType(int position) {
+    switch (position) {
+      case 0:
+      case 1:
+        return TEXT_EXPANDABLE_TYPE;
+      case 2:
+        return IMAGE_TEXT_TYPE;
+      case 3:
+        return TEXT_LINK_TYPE;
+      case 4:
+        return TEXT_TYPE;
+      case 5:
+      case 6:
+        return TEXT_EXPANDABLE_TYPE;
+      default:
+        break;
+
+    }
+    return 0;
+  }
+}

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

@@ -1,13 +1,21 @@
 package kr.co.zumo.app.lifeplus.view.fragment.alarm;
 
+import android.graphics.Rect;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+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.model.BlankModel;
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.fragment.FragmentBase;
+import kr.co.zumo.app.lifeplus.view.presenter.AlarmListPresenter;
+
 /**
  * AlarmListFragment
  * <pre>
@@ -18,12 +26,40 @@ import android.view.ViewGroup;
  * @history 하세미   [2018-10-24]   [최초 작성]
  * @since 2018-10-24
  */
-public class AlarmListFragment extends Fragment {
+public class AlarmListFragment extends FragmentBase<AlarmListPresenter> {
+
+  private RecyclerView recyclerViewAlarmList;
+  @Override
+  protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+    View view = inflater.inflate(R.layout.fragment_alarm_list, container, false);
+    return view;
+  }
+
+  @Override
+  protected void onAfterActivityCreated(Bundle savedInstanceState) {
+    recyclerViewAlarmList = findViewById(R.id.recycler_view_alarm_list);
+    AlarmListAdapter alarmListAdapter = new AlarmListAdapter(getActivity());
+    recyclerViewAlarmList.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+    recyclerViewAlarmList.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(12);
+      }
+    });
+    recyclerViewAlarmList.setAdapter(alarmListAdapter);
+
 
 
-  @Nullable
+  }
+
+  @Override
+  protected void defineActionBar() {
+
+  }
+
   @Override
-  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-    return super.onCreateView(inflater, container, savedInstanceState);
+  protected AlarmListPresenter definePresenter() {
+    return new AlarmListPresenter(getModel(BlankModel.class), this);
   }
 }

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

@@ -1,6 +1,7 @@
 package kr.co.zumo.app.lifeplus.view.fragment.alarm;
 
 import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentStatePagerAdapter;
@@ -18,15 +19,17 @@ import android.support.v4.app.FragmentStatePagerAdapter;
 public class AlarmPagerAdapter extends FragmentStatePagerAdapter {
 
   private static final int PAGE_COUNT = 3;
+  private String[] tabs;
 
-
-  public AlarmPagerAdapter(FragmentManager fm) {
+  public AlarmPagerAdapter(FragmentManager fm, String[] tabs) {
     super(fm);
+    this.tabs = tabs;
   }
 
   @Override
   public Fragment getItem(int position) {
-    return null;
+    AlarmListFragment alarmListFragment = new AlarmListFragment();
+    return alarmListFragment;
   }
 
   @Override
@@ -38,4 +41,11 @@ public class AlarmPagerAdapter extends FragmentStatePagerAdapter {
   public int getItemPosition(@NonNull Object object) {
     return POSITION_NONE;
   }
+
+  @Nullable
+  @Override
+  public CharSequence getPageTitle(int position) {
+
+    return tabs[position];
+  }
 }

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

@@ -0,0 +1,65 @@
+package kr.co.zumo.app.lifeplus.view.fragment.alarm;
+
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+
+/**
+ * AlarmTextViewHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-25]   [최초 작성]
+ * @since 2018-10-25
+ */
+public class AlarmTextViewHolder extends RecyclerView.ViewHolder {
+
+  private static final int TEXT_TYPE = 2;
+  private static final int TEXT_LINK_TYPE = 3;
+  private TextView textViewAlarmCategory;
+  private TextView textViewAlarmTitle;
+  private TextView textViewAlarmDate;
+  private TextView textViewAlarmDetail;
+  private TextView textViewShowContents;
+  private ImageView imageViewOpenArrow;
+
+  public AlarmTextViewHolder(View itemView) {
+    super(itemView);
+    textViewAlarmCategory = itemView.findViewById(R.id.text_view_category);
+    textViewAlarmTitle = itemView.findViewById(R.id.text_view_title);
+    textViewAlarmDate = itemView.findViewById(R.id.text_view_date);
+    textViewAlarmDetail = itemView.findViewById(R.id.text_view_detail);
+    imageViewOpenArrow = itemView.findViewById(R.id.image_view_open_arrow);
+    textViewShowContents = itemView.findViewById(R.id.text_view_show_contents);
+
+  }
+
+
+  public void doDataSetting() {
+    textViewAlarmCategory.setText(R.string.event);
+    textViewAlarmTitle.setText(R.string.event_title);
+    textViewAlarmDate.setText(R.string.event_date);
+    textViewAlarmDetail.setText(R.string.event_contents);
+    textViewShowContents.setText(R.string.point_confirm);
+    Log.e("APP#  AlarmTextViewHolder | doDataSetting", "|" + getItemViewType());
+    switch (getItemViewType()) {
+
+      case TEXT_TYPE:
+        imageViewOpenArrow.setVisibility(View.GONE);
+        textViewShowContents.setVisibility(View.GONE);
+        break;
+      case TEXT_LINK_TYPE:
+        imageViewOpenArrow.setVisibility(View.VISIBLE);
+        textViewShowContents.setVisibility(View.VISIBLE);
+        break;
+      default:
+        break;
+    }
+  }
+}

+ 63 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/AlarmListPresenter.java

@@ -0,0 +1,63 @@
+package kr.co.zumo.app.lifeplus.view.presenter;
+
+import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.IView;
+
+/**
+ * AlarmListPresenter
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2018-10-25]   [최초 작성]
+ * @since 2018-10-25
+ */
+public class AlarmListPresenter extends Presenter<BlankModel, IView> {
+
+
+  public AlarmListPresenter(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() {
+    return false;
+  }
+
+  @Override
+  protected void onEventInternal(Event event) {
+
+  }
+
+  @Override
+  public void onResult(Event event) {
+
+  }
+}

+ 111 - 0
app/src/main/res/layout/alarm_expandable_contents.xml

@@ -0,0 +1,111 @@
+<?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:layout_width="match_parent"
+  android:layout_height="wrap_content"
+  android:background="@drawable/faq_answer_border"
+  android:orientation="vertical">
+
+  <RelativeLayout
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingStart="22dp"
+    android:paddingTop="22dp">
+
+    <TextView
+      android:id="@+id/text_view_alarm_category"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_alignParentStart="true"
+      android:layout_alignParentTop="true"
+      android:lineSpacingExtra="4sp"
+      android:textColor="@color/C999999"
+      android:textSize="10sp"
+      tools:text="회원"/>
+
+    <TextView
+      android:id="@+id/text_view_alarm_title"
+      android:layout_width="317dp"
+      android:layout_height="wrap_content"
+      android:layout_alignParentStart="true"
+      android:layout_alignParentTop="true"
+      android:layout_marginTop="22dp"
+      android:layout_marginEnd="50dp"
+      android:lineSpacingExtra="5sp"
+      android:maxLines="3"
+      android:textColor="@color/C333333"
+      android:textSize="14sp"
+      tools:text="@string/sign_up_from_zumo_description"/>
+
+    <TextView
+      android:id="@+id/text_view_alarm_date"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_below="@+id/text_view_alarm_title"
+      android:layout_alignStart="@+id/text_view_alarm_category"
+      android:layout_marginTop="6dp"
+      android:layout_marginBottom="23dp"
+      android:lineSpacingExtra="4sp"
+      android:textColor="@color/C999999"
+      android:textSize="12sp"
+      tools:text="2018.08.13"/>
+
+    <ImageView
+      android:id="@+id/image_view_open_arrow"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_alignParentEnd="true"
+      android:layout_centerVertical="true"
+      android:layout_marginEnd="2dp"
+      android:paddingStart="20dp"
+      android:paddingTop="20dp"
+      android:paddingEnd="20dp"
+      android:paddingBottom="20dp"
+      android:scaleType="center"
+      app:srcCompat="@drawable/icon_openarrow"/>
+
+
+  </RelativeLayout>
+
+  <RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/layout_detail_contents"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:visibility="gone"
+    tools:visibility="visible"
+    >
+
+    <LinearLayout
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:orientation="vertical"
+      android:paddingStart="23dp"
+      android:paddingEnd="23dp"
+      android:paddingBottom="23dp"
+      >
+
+      <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:layout_marginBottom="23dp"
+        android:background="@color/CE5E5E5"
+        />
+
+      <TextView
+        android:id="@+id/text_view_alarm_contents"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:lineSpacingExtra="9sp"
+        android:textColor="@color/C999999"
+        android:textSize="12sp"
+        tools:text="@string/sign_up_from_zumo_description"
+        />
+
+    </LinearLayout>
+  </RelativeLayout>
+
+</LinearLayout>

+ 111 - 0
app/src/main/res/layout/alarm_image_text_contents.xml

@@ -0,0 +1,111 @@
+<?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:background="@drawable/faq_answer_border"
+  android:orientation="vertical">
+
+  <TextView
+    android:id="@+id/text_view_category"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="23dp"
+    android:lineSpacingExtra="4sp"
+    android:textColor="@color/C999999"
+    android:textSize="11sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"
+    tools:text="이벤트"
+    />
+
+  <TextView
+    android:id="@+id/text_view_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="5dp"
+    android:lineSpacingExtra="6sp"
+    android:textColor="@color/C333333"
+    android:textSize="14sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_category"
+    tools:text="디뮤지엄 전시회 티켓 증정 이벤트"
+    />
+
+  <TextView
+    android:id="@+id/text_view_date"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="5dp"
+    android:lineSpacingExtra="4sp"
+    android:textColor="@color/C999999"
+    android:textSize="12sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_title"
+    tools:text="2018.08.13. 11:24"
+    />
+
+  <TextView
+    android:id="@+id/text_view_detail"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="17dp"
+    android:lineSpacingExtra="10sp"
+    android:textColor="@color/C999999"
+    android:textSize="12sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_date"
+    tools:text="이벤트에 참여해주시는 분들이 많아지는만큼,관련하여
+문의 사항도 많으실 것이라 생각되어 아래와 같이
+연락하시기 편한 메일 주소를 안내드립니다."
+    />
+
+  <ImageView
+    android:id="@+id/image_view_contents"
+    android:layout_width="266dp"
+    android:layout_height="175dp"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="12dp"
+    android:scaleType="fitXY"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_detail"
+    tools:src="@drawable/img_bestbucket_banner_5"/>
+
+
+  <TextView
+    android:id="@+id/text_view_show_contents"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="12dp"
+    android:layout_marginBottom="23dp"
+    android:gravity="center_horizontal"
+    android:lineSpacingExtra="10sp"
+    android:textColor="@color/C000000"
+    android:textSize="12sp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/image_view_contents"
+    tools:text="이벤트 보기"
+    />
+
+  <ImageView
+    android:id="@+id/image_view_open_arrow"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="2dp"
+    android:layout_marginBottom="25dp"
+    android:rotation="-90"
+    android:scaleType="center"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintStart_toEndOf="@+id/text_view_show_contents"
+    app:srcCompat="@drawable/icon_openarrow"/>
+
+
+</android.support.constraint.ConstraintLayout>

+ 104 - 0
app/src/main/res/layout/alarm_text_contents.xml

@@ -0,0 +1,104 @@
+<?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:background="@drawable/faq_answer_border"
+  android:orientation="vertical">
+
+  <TextView
+    android:id="@+id/text_view_category"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="23dp"
+    android:lineSpacingExtra="4sp"
+    android:textColor="@color/C999999"
+    android:textSize="11sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"
+    tools:text="포인트"
+    />
+
+  <TextView
+    android:id="@+id/text_view_title"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="5dp"
+    android:lineSpacingExtra="6sp"
+    android:textColor="@color/C333333"
+    android:textSize="14sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_category"
+    tools:text="포인트 소멸 안내"
+    />
+
+  <TextView
+    android:id="@+id/text_view_date"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="5dp"
+    android:lineSpacingExtra="4sp"
+    android:textColor="@color/C999999"
+    android:textSize="12sp"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_title"
+    tools:text="2018.08.13. 11:24"
+    />
+
+  <TextView
+    android:id="@+id/text_view_detail"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="17dp"
+    android:lineSpacingExtra="10sp"
+    android:textColor="@color/C999999"
+    android:textSize="12sp"
+    app:layout_constraintBottom_toTopOf="@+id/text_view_show_contents"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_date"
+    app:layout_goneMarginBottom="23dp"
+    tools:text="3일 이내 포인트가 소멸될 예정입니다.
+기간 내 포인트 혜택을 누려보세요."
+
+    />
+
+
+  <TextView
+    android:id="@+id/text_view_show_contents"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="23dp"
+    android:layout_marginTop="12dp"
+    android:layout_marginBottom="23dp"
+    android:gravity="center_horizontal"
+    android:lineSpacingExtra="10sp"
+    android:textColor="@color/C000000"
+    android:textSize="12sp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toBottomOf="@+id/text_view_detail"
+    tools:text="포인트 내역 확인"
+    tools:visibility="visible"
+    />
+
+  <ImageView
+    android:id="@+id/image_view_open_arrow"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="2dp"
+    android:layout_marginBottom="25dp"
+    android:rotation="-90"
+    android:scaleType="center"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintStart_toEndOf="@+id/text_view_show_contents"
+    app:srcCompat="@drawable/icon_openarrow"
+    tools:visibility="visible"
+    />
+
+</android.support.constraint.ConstraintLayout>

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

@@ -9,7 +9,7 @@
   android:orientation="vertical">
 
   <android.support.v7.widget.RecyclerView
-    android:id="@+id/list_view_alarm_contents"
+    android:id="@+id/recycler_view_alarm_list"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginBottom="10dp"

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

@@ -403,7 +403,14 @@
   <string name="main_second_category_title">디즈니랜드 여행</string>
 
 
+  <string name="event">이벤트</string>
+  <string name="show_event">이벤트 보기</string>
+  <string name="event_date">2018.08.13. 11:24</string>
+  <string name="event_title">디뮤지엄 전시회 티켓 증정 이벤트</string>
+  <string name="event_contents">이벤트에 참여해주시는 분들이 많아지는만큼, 관련하여\n문의 사항도 많으실 것이라 생각되어 아래와 같이\n연락하시기 편한 메일 주소를 안내드립니다.</string>
   <string name="notification">알림</string>
+  <string name="point_confirm">포인트 내역 확인</string>
+
 
 
 </resources>