Ver código fonte

#2019-06-21 09:16
- 4.0.9.005 테스트 배포
- 온보딩 네비게이션 이미지 리소스 변경
- 버킷리스트 튜토리얼 변경

yeongyun 6 anos atrás
pai
commit
d67ada7813

+ 1 - 1
app/build.gradle

@@ -44,7 +44,7 @@ android {
         minSdkVersion 19    // 4.4
         targetSdkVersion 27
         versionCode 179
-        versionName "4.0.9.004"
+        versionName "4.0.9.005"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         multiDexEnabled true
         vectorDrawables.useSupportLibrary = true

+ 9 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/activity/OnBoardingActivity.java

@@ -57,17 +57,17 @@ public class OnBoardingActivity extends AppCompatActivity {
             @Override
             public void onPageSelected(int position) {
                 if (position == 0) {
-                    dot1.setImageResource(R.drawable.select_dot);
-                    dot2.setImageResource(R.drawable.default_dot);
-                    dot3.setImageResource(R.drawable.default_dot);
+                    dot1.setImageResource(R.drawable.page_select);
+                    dot2.setImageResource(R.drawable.page_normal);
+                    dot3.setImageResource(R.drawable.page_normal);
                 } else if (position == 1) {
-                    dot1.setImageResource(R.drawable.default_dot);
-                    dot2.setImageResource(R.drawable.select_dot);
-                    dot3.setImageResource(R.drawable.default_dot);
+                    dot1.setImageResource(R.drawable.page_normal);
+                    dot2.setImageResource(R.drawable.page_select);
+                    dot3.setImageResource(R.drawable.page_normal);
                 } else {
-                    dot1.setImageResource(R.drawable.default_dot);
-                    dot2.setImageResource(R.drawable.default_dot);
-                    dot3.setImageResource(R.drawable.select_dot);
+                    dot1.setImageResource(R.drawable.page_normal);
+                    dot2.setImageResource(R.drawable.page_normal);
+                    dot3.setImageResource(R.drawable.page_select);
                 }
             }
 

+ 87 - 44
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/Tutorial.java

@@ -31,7 +31,7 @@ public class Tutorial {
     private LayoutInflater inflater;
     private ObjectAnimator animator;
     private View bucketFirstView;
-    private View bucketSecondView;
+//    private View bucketSecondView;
 
 
     private int screenWidth;
@@ -86,9 +86,9 @@ public class Tutorial {
             animator = null;
         }
         if (null != frameLayout) {
-            if (bucketFirstView != null || bucketSecondView != null) {
+            if (bucketFirstView != null/* || bucketSecondView != null*/) {
                 frameLayout.removeView(bucketFirstView);
-                frameLayout.removeView(bucketSecondView);
+//                frameLayout.removeView(bucketSecondView);
             }
 
             frameLayout = null;
@@ -110,6 +110,15 @@ public class Tutorial {
                 0.0f
         );
     }
+    private ObjectAnimator fadeIn(View target) {
+        target.clearAnimation();
+        return ObjectAnimator.ofFloat(
+                target,
+                View.ALPHA,
+                0.0f,
+                1.0f
+        );
+    }
 
     /**
      * 리스티클 커버 첫 진입시 뜨는 튜토리얼
@@ -228,98 +237,132 @@ public class Tutorial {
         ConstraintLayout bubble1 = bucketFirstView.findViewById(R.id.tutorial_bucket_list_tag1);
         ConstraintLayout bubble2 = bucketFirstView.findViewById(R.id.tutorial_bucket_list_tag2);
 
-        bucketSecondView = inflater.inflate(R.layout.tutorial_bucket_list_update, null);
-        ConstraintLayout bubble3 = bucketSecondView.findViewById(R.id.tutorial_bucket_list_success);
-        ConstraintLayout secondContainer = bucketSecondView.findViewById(R.id.container_second);
+//        bucketSecondView = inflater.inflate(R.layout.tutorial_bucket_list_update, null);
+//        ConstraintLayout bubble3 = bucketSecondView.findViewById(R.id.tutorial_bucket_list_success);
+//        ConstraintLayout secondContainer = bucketSecondView.findViewById(R.id.container_second);
 
         //튜토리얼 두장마다 내비게이션바 있는 경우 하단 패딩 추가
         ScreenUtil.setPaddingBottomNavigationBarHeight(firstContainer);
-        ScreenUtil.setPaddingBottomNavigationBarHeight(secondContainer);
+//        ScreenUtil.setPaddingBottomNavigationBarHeight(secondContainer);
 
         frameLayout.addView(bucketFirstView);
         bucketFirstView.setClickable(true);
         bubble1.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+        bubble2.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+
 
-        ObjectAnimator first = fadeOut(bubble1);
+        ObjectAnimator first = fadeIn(bubble1);
         first.setDuration(1000);
         first.setStartDelay(1000);
         this.animator = first;
         first.start();
 
-        bubble2.setLayerType(View.LAYER_TYPE_HARDWARE, null);
-
-        ObjectAnimator second = fadeOut(bubble2);
+        ObjectAnimator second = fadeOut(bubble1);
         second.setDuration(1000);
         second.setStartDelay(1000);
 
-        bubble3.setLayerType(View.LAYER_TYPE_HARDWARE, null);
-        ObjectAnimator third = fadeOut(bubble3);
+        ObjectAnimator third = fadeIn(bubble2);
         third.setDuration(1000);
-        third.setStartDelay(1000);
+//        third.setStartDelay(1000);
 
-        bucketSecondView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
-        ObjectAnimator translateAnimator1 =
-                ObjectAnimator.ofFloat(bucketSecondView, View.TRANSLATION_X, screenWidth, 0f);
-        translateAnimator1.setDuration(500);
-
-        ObjectAnimator fourth = fadeOut(bucketSecondView);
+        ObjectAnimator fourth = fadeOut(bubble2);
         fourth.setDuration(1000);
         fourth.setStartDelay(1000);
 
+//        bubble3.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+//        ObjectAnimator fourth = fadeOut(bubble3);
+//        third.setDuration(1000);
+//        third.setStartDelay(1000);
+
+//        bucketSecondView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+//        ObjectAnimator translateAnimator1 =
+//                ObjectAnimator.ofFloat(bucketSecondView, View.TRANSLATION_X, screenWidth, 0f);
+//        translateAnimator1.setDuration(500);
+//
+//        ObjectAnimator fourth = fadeOut(bucketSecondView);
+//        fourth.setDuration(1000);
+//        fourth.setStartDelay(1000);
+
         first.addListener(new SimpleAnimatorListener() {
-            @Override
-            public void onAnimationEnd(Animator animator) {
-                bubble1.setLayerType(View.LAYER_TYPE_NONE, null);
-                bubble2.setVisibility(View.VISIBLE);
 
-                Tutorial.this.animator = second;
-                second.start();
+            @Override
+            public void onAnimationStart(Animator animation) {
+                super.onAnimationStart(animation);
+                bubble1.setVisibility(View.VISIBLE);
             }
-        });
-
 
-        second.addListener(new SimpleAnimatorListener() {
             @Override
             public void onAnimationEnd(Animator animator) {
-                bubble2.setLayerType(View.LAYER_TYPE_NONE, null);
-                // frameLayout.removeView(firstView);
-                frameLayout.addView(bucketSecondView);
-                bucketSecondView.setTranslationX(screenWidth);
-                Tutorial.this.animator = translateAnimator1;
-                translateAnimator1.start();
-
-                bucketFirstView.animate().withLayer().setDuration(1000).translationX(-screenWidth).start();
+                Tutorial.this.animator = second;
+                second.start();
             }
         });
 
-        translateAnimator1.addListener(new SimpleAnimatorListener() {
+        second.addListener(new SimpleAnimatorListener() {
             @Override
             public void onAnimationEnd(Animator animator) {
-                bucketSecondView.setLayerType(View.LAYER_TYPE_NONE, null);
+                bubble1.setLayerType(View.LAYER_TYPE_NONE, null);
                 Tutorial.this.animator = third;
                 third.start();
             }
         });
 
         third.addListener(new SimpleAnimatorListener() {
+
+            @Override
+            public void onAnimationStart(Animator animation) {
+                super.onAnimationStart(animation);
+                bubble2.setVisibility(View.VISIBLE);
+            }
+
             @Override
             public void onAnimationEnd(Animator animator) {
-                bubble3.setLayerType(View.LAYER_TYPE_NONE, null);
-                frameLayout.removeView(bucketFirstView);
                 Tutorial.this.animator = fourth;
-                bucketSecondView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
                 fourth.start();
             }
         });
 
-
         fourth.addListener(new SimpleAnimatorListener() {
             @Override
             public void onAnimationEnd(Animator animator) {
-                bucketSecondView.setLayerType(View.LAYER_TYPE_NONE, null);
+                bubble2.setLayerType(View.LAYER_TYPE_NONE, null);
+
+                bucketFirstView.setLayerType(View.LAYER_TYPE_NONE, null);
+
+                if (frameLayout != null) {
+                    frameLayout.removeView(bucketFirstView);
+                }
             }
         });
 
+//        translateAnimator1.addListener(new SimpleAnimatorListener() {
+//            @Override
+//            public void onAnimationEnd(Animator animator) {
+//                bucketSecondView.setLayerType(View.LAYER_TYPE_NONE, null);
+//                Tutorial.this.animator = third;
+//                third.start();
+//            }
+//        });
+
+//        third.addListener(new SimpleAnimatorListener() {
+//            @Override
+//            public void onAnimationEnd(Animator animator) {
+//                bubble3.setLayerType(View.LAYER_TYPE_NONE, null);
+//                frameLayout.removeView(bucketFirstView);
+//                Tutorial.this.animator = fourth;
+//                bucketSecondView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+//                fourth.start();
+//            }
+//        });
+//
+//
+//        fourth.addListener(new SimpleAnimatorListener() {
+//            @Override
+//            public void onAnimationEnd(Animator animator) {
+//                bucketSecondView.setLayerType(View.LAYER_TYPE_NONE, null);
+//            }
+//        });
+
 
     }
 

+ 8 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/Presenter.java

@@ -404,12 +404,14 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
     }
 
     protected void showErrorDialog(String string, Runnable runnable, @StringRes int buttonLabelId) {
-        dialogError = DialogProvider.of(getFragmentManager()).showErrorDialog(string, () -> {
-            dialogError = null;
-            if (null != runnable) {
-                runnable.run();
-            }
-        }, buttonLabelId);
+        if(getFragmentManager() != null) {
+            dialogError = DialogProvider.of(getFragmentManager()).showErrorDialog(string, () -> {
+                dialogError = null;
+                if (null != runnable) {
+                    runnable.run();
+                }
+            }, buttonLabelId);
+        }
     }
 
     protected FragmentManager getFragmentManager() {

+ 6 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BucketListWithTagDetailFragment.java

@@ -49,6 +49,8 @@ import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
  */
 public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWithTagDetailPresenter> implements IBucketListWithTagDetailView {
 
+    private final String TAG ="BLWTD..Fragment";
+
     private RecyclerView recyclerView;
     private BucketListDetailAdapter adapter;
 
@@ -195,7 +197,7 @@ public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWith
     @Override
     public void drawTag(List<TagBean> beans) {
         if (null == beans || beans.size() == 0) {
-            Log.e("APP#  BucketListWithTagDetailFragment | drawTag", "| " + "beans is null");
+            Log.e(TAG, "drawTag | beans is null");
         } else {
             int len = beans.size();
             TagBean bean;
@@ -222,7 +224,7 @@ public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWith
     @Override
     public void drawList(List<LifeplusContentsBean> contentsBeans) {
         if (null == contentsBeans) {
-            Log.e("APP#  BucketListWithTagDetailFragment | drawList", "| " + "contentsBeans is null");
+            Log.e(TAG, "drawList | contentsBeans is null");
             contentsBeans = new ArrayList<>();
         }
 
@@ -294,7 +296,7 @@ public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWith
 
     @Override
     public void setVisibilityResultNothing(boolean isVisible) {
-        Log.e("APP#  BucketListWithTagDetailFragment | setVisibilityResultNothing, 268", "isVisible |" + isVisible);
+        Log.e(TAG, "setVisibilityResultNothing -> isVisible | " + isVisible);
         if (isVisible) {
             setTagTitle(0);
             layoutNothing.setVisibility(View.VISIBLE);
@@ -316,7 +318,7 @@ public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWith
             CheckBox checkBox = view.findViewById(R.id.check_box);
             checkBox.setChecked(isChecked);
         } else {
-            Log.e("APP#  BucketListWithTagDetailFragment | setCheckedTag", "|" + "Tag 가 모자랍니다.");
+            Log.e(TAG, "setCheckedTag | Tag 가 모자랍니다.");
         }
     }
 

+ 15 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BucketListWithTagDetailPresenter.java

@@ -1,5 +1,7 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.bucketlist;
 
+import android.os.Handler;
+import android.os.Message;
 import android.util.Log;
 
 import kr.co.zumo.app.R;
@@ -192,6 +194,19 @@ public class BucketListWithTagDetailPresenter extends Presenter<BucketListWithTa
         }
     }
 
+    /*@Override
+    public void showWaiter(int delayMs) {
+        super.showWaiter(2000);
+    }*/
+
+    @Override
+    public void showWaiter() {
+        showWaiter(1000);
+//        super.showWaiter();
+    }
+
+
+
     @Override
     public void onScreenReady() {
         doubleCheckerTag.checkFirst();

+ 11 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/zumo/screen/SignInEmailFragment.java

@@ -124,8 +124,17 @@ public class SignInEmailFragment extends BaseFragment<SignInEmailPresenter> impl
 
         btnConfirm.setOnClickListener(view -> presenter.signIn());
 
-        getView().findViewById(R.id.tv_find_id).setOnClickListener(view -> signUpProcessListener.onProcessChange(ISignUpProcessListener.FIND_ID));
-        getView().findViewById(R.id.tv_find_pw).setOnClickListener(view -> signUpProcessListener.onProcessChange(ISignUpProcessListener.FIND_PW));
+        getView().findViewById(R.id.tv_find_id).setOnClickListener(view -> {
+            if (signUpProcessListener != null) {
+                signUpProcessListener.onProcessChange(ISignUpProcessListener.FIND_ID);
+            }
+        });
+
+        getView().findViewById(R.id.tv_find_pw).setOnClickListener(view -> {
+            if (signUpProcessListener != null) {
+                signUpProcessListener.onProcessChange(ISignUpProcessListener.FIND_PW);
+            }
+        });
 
         getView().findViewById(R.id.parent).setOnClickListener(view -> {
 

BIN
app/src/main/res/drawable-xxxhdpi/page_normal.png


BIN
app/src/main/res/drawable-xxxhdpi/page_select.png


+ 3 - 3
app/src/main/res/layout/activity_on_boarding.xml

@@ -43,10 +43,10 @@
                     android:id="@+id/dot1"
                     android:layout_width="5dp"
                     android:layout_height="5dp"
-                    android:src="@drawable/select_dot"/>
+                    android:src="@drawable/page_select"/>
 
                 <ImageView
-                    android:src="@drawable/default_dot"
+                    android:src="@drawable/page_normal"
                     android:scaleType="fitCenter"
                     android:id="@+id/dot2"
                     android:layout_marginLeft="7.5dp"
@@ -55,7 +55,7 @@
                     android:layout_height="5dp"/>
 
                 <ImageView
-                    android:src="@drawable/default_dot"
+                    android:src="@drawable/page_normal"
                     android:scaleType="fitCenter"
                     android:id="@+id/dot3"
                     android:layout_width="5dp"

+ 1 - 0
app/src/main/res/layout/fragment_bucket_list_with_tag_detail.xml

@@ -160,6 +160,7 @@
     </android.support.design.widget.AppBarLayout>
 
     <LinearLayout
+        tools:visibility="visible"
       android:id="@+id/layout_recycler_view_container"
       android:layout_width="match_parent"
       android:layout_height="match_parent"

+ 294 - 303
app/src/main/res/layout/tutorial_bucket_list_tag.xml

@@ -1,337 +1,328 @@
 <?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="match_parent"
-  >
-
-  <android.support.constraint.ConstraintLayout
-    android:id="@+id/container"
+<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"
-    android:background="@color/CFFFFFF">
+    android:layout_height="match_parent">
 
-    <ImageView
-      android:id="@+id/image_view_bucket"
-      android:layout_width="match_parent"
-      android:layout_height="208dp"
-      android:scaleType="fitXY"
-      android:src="@drawable/img_bucket_top"
-      />
+    <android.support.constraint.ConstraintLayout
+        android:id="@+id/container"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
+        <!--<ImageView
+            android:id="@+id/image_view_bucket"
+            android:layout_width="match_parent"
+            android:layout_height="208dp"
+            android:scaleType="fitXY"
+            android:src="@drawable/img_bucket_top" />
 
-    <TextView
-      android:id="@+id/title"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginTop="114dp"
-      android:gravity="center_horizontal"
-      android:lineSpacingExtra="6sp"
-      android:text="유럽으로 배낭여행 가기"
-      android:textColor="@color/CFFFFFF"
-      android:textSize="21sp"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      />
 
-    <ImageView
-      android:layout_width="19dp"
-      android:layout_height="19dp"
-      android:layout_marginEnd="14dp"
-      app:layout_constraintEnd_toStartOf="@+id/imageView7"
-      app:layout_constraintTop_toTopOf="@+id/imageView7"
-      app:srcCompat="@drawable/ic_icon_bucket_complete_default"/>
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="114dp"
+            android:gravity="center_horizontal"
+            android:lineSpacingExtra="6sp"
+            android:text="유럽으로 배낭여행 가기"
+            android:textColor="@color/CFFFFFF"
+            android:textSize="21sp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
-    <ImageView
-      android:id="@+id/imageView7"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginEnd="14dp"
-      app:layout_constraintEnd_toStartOf="@id/image_trash"
-      app:layout_constraintTop_toTopOf="@+id/image_trash"
-      app:srcCompat="@drawable/icon_edit_copy"/>
+        <ImageView
+            android:layout_width="19dp"
+            android:layout_height="19dp"
+            android:layout_marginEnd="14dp"
+            app:layout_constraintEnd_toStartOf="@+id/imageView7"
+            app:layout_constraintTop_toTopOf="@+id/imageView7"
+            app:srcCompat="@drawable/ic_icon_bucket_complete_default" />
 
+        <ImageView
+            android:id="@+id/imageView7"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="14dp"
+            app:layout_constraintEnd_toStartOf="@id/image_trash"
+            app:layout_constraintTop_toTopOf="@+id/image_trash"
+            app:srcCompat="@drawable/icon_edit_copy" />
 
-    <ImageView
-      android:id="@+id/image_trash"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginTop="41dp"
-      android:layout_marginEnd="16dp"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      app:srcCompat="@drawable/icon_delete_bucket"
-      />
 
-    <TextView
-      android:id="@+id/text_view_contents"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="25dp"
-      android:layout_marginTop="18dp"
-      android:lineSpacingExtra="3.5sp"
-      android:text="@string/tutorial_bucket_example"
-      android:textColor="@color/C999999"
-      android:textSize="12sp"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/image_view_bucket"/>
+        <ImageView
+            android:id="@+id/image_trash"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="41dp"
+            android:layout_marginEnd="16dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:srcCompat="@drawable/icon_delete_bucket" />
 
-    <android.support.constraint.ConstraintLayout
-      android:id="@+id/layout_tag"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="25dp"
-      android:layout_marginTop="13dp"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/text_view_contents">
+        <TextView
+            android:id="@+id/text_view_contents"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="25dp"
+            android:layout_marginTop="18dp"
+            android:lineSpacingExtra="3.5sp"
+            android:text="@string/tutorial_bucket_example"
+            android:textColor="@color/C999999"
+            android:textSize="12sp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/image_view_bucket" />
 
-      <TextView
-        android:id="@+id/check_box1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="9dp"
-        android:background="@drawable/custom_rectangle_radio_on"
-        android:paddingStart="12dp"
-        android:paddingTop="5dp"
-        android:paddingEnd="12dp"
-        android:paddingBottom="5dp"
-        android:text="#배낭여행"
-        android:textAlignment="center"
-        android:textColor="@color/C000000"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toStartOf="@+id/check_box2"
-        app:layout_constraintHorizontal_chainStyle="spread_inside"
-        app:layout_constraintStart_toStartOf="parent"/>
+        <android.support.constraint.ConstraintLayout
+            android:id="@+id/layout_tag"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="25dp"
+            android:layout_marginTop="13dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/text_view_contents">
 
-      <TextView
-        android:id="@+id/check_box2"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="9dp"
-        android:background="@drawable/custom_rectangle_radio_off"
-        android:lineSpacingExtra="4sp"
-        android:paddingStart="12dp"
-        android:paddingTop="5dp"
-        android:paddingEnd="12dp"
-        android:paddingBottom="5dp"
-        android:text="#북유럽"
-        android:textAlignment="center"
-        android:textColor="@color/C999999"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toStartOf="@+id/check_box3"
-        app:layout_constraintStart_toEndOf="@+id/check_box1"/>
+            <TextView
+                android:id="@+id/check_box1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="9dp"
+                android:background="@drawable/custom_rectangle_radio_on"
+                android:paddingStart="12dp"
+                android:paddingTop="5dp"
+                android:paddingEnd="12dp"
+                android:paddingBottom="5dp"
+                android:text="#배낭여행"
+                android:textAlignment="center"
+                android:textColor="@color/C000000"
+                android:textSize="12sp"
+                app:layout_constraintEnd_toStartOf="@+id/check_box2"
+                app:layout_constraintHorizontal_chainStyle="spread_inside"
+                app:layout_constraintStart_toStartOf="parent" />
 
-      <TextView
-        android:id="@+id/check_box3"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:background="@drawable/custom_rectangle_radio_off"
-        android:lineSpacingExtra="4sp"
-        android:paddingStart="12dp"
-        android:paddingTop="5dp"
-        android:paddingEnd="9dp"
-        android:paddingBottom="5dp"
-        android:text="#배낭여행"
-        android:textAlignment="center"
-        android:textColor="@color/C999999"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toStartOf="@+id/check_box4"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toEndOf="@+id/check_box2"/>
+            <TextView
+                android:id="@+id/check_box2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="9dp"
+                android:background="@drawable/custom_rectangle_radio_off"
+                android:lineSpacingExtra="4sp"
+                android:paddingStart="12dp"
+                android:paddingTop="5dp"
+                android:paddingEnd="12dp"
+                android:paddingBottom="5dp"
+                android:text="#북유럽"
+                android:textAlignment="center"
+                android:textColor="@color/C999999"
+                android:textSize="12sp"
+                app:layout_constraintEnd_toStartOf="@+id/check_box3"
+                app:layout_constraintStart_toEndOf="@+id/check_box1" />
 
-      <TextView
-        android:id="@+id/check_box4"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="9dp"
-        android:background="@drawable/custom_rectangle_radio_off"
-        android:lineSpacingExtra="4sp"
-        android:paddingStart="12dp"
-        android:paddingTop="5dp"
-        android:paddingEnd="12dp"
-        android:paddingBottom="5dp"
-        android:text="#라트비아 "
-        android:textAlignment="center"
-        android:textColor="@color/C999999"
-        android:textSize="12sp"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toEndOf="@+id/check_box3"/>
+            <TextView
+                android:id="@+id/check_box3"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/custom_rectangle_radio_off"
+                android:lineSpacingExtra="4sp"
+                android:paddingStart="12dp"
+                android:paddingTop="5dp"
+                android:paddingEnd="9dp"
+                android:paddingBottom="5dp"
+                android:text="#배낭여행"
+                android:textAlignment="center"
+                android:textColor="@color/C999999"
+                android:textSize="12sp"
+                app:layout_constraintEnd_toStartOf="@+id/check_box4"
+                app:layout_constraintHorizontal_bias="0.5"
+                app:layout_constraintStart_toEndOf="@+id/check_box2" />
 
-    </android.support.constraint.ConstraintLayout>
+            <TextView
+                android:id="@+id/check_box4"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="9dp"
+                android:background="@drawable/custom_rectangle_radio_off"
+                android:lineSpacingExtra="4sp"
+                android:paddingStart="12dp"
+                android:paddingTop="5dp"
+                android:paddingEnd="12dp"
+                android:paddingBottom="5dp"
+                android:text="#라트비아 "
+                android:textAlignment="center"
+                android:textColor="@color/C999999"
+                android:textSize="12sp"
+                app:layout_constraintHorizontal_bias="0.5"
+                app:layout_constraintStart_toEndOf="@+id/check_box3" />
 
-    <android.support.constraint.ConstraintLayout
-      android:id="@+id/layout_list_view"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="25dp"
-      android:layout_marginTop="21dp"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/layout_tag">
+        </android.support.constraint.ConstraintLayout>
 
-      <ImageView
-        android:id="@+id/image_1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="8dp"
-        android:src="@drawable/img_bucket_list_01_3"/>
+        <android.support.constraint.ConstraintLayout
+            android:id="@+id/layout_list_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="25dp"
+            android:layout_marginTop="21dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/layout_tag">
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="18dp"
-        android:layout_marginTop="27dp"
-        android:lineSpacingExtra="6sp"
-        android:text="추억을 공유하는\n다국적 배낭여행"
-        android:textColor="@color/C000000"
-        android:textSize="14sp"
-        app:layout_constraintStart_toEndOf="@+id/image_1"
-        app:layout_constraintTop_toTopOf="@+id/image_1"/>
+            <ImageView
+                android:id="@+id/image_1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="8dp"
+                android:src="@drawable/img_bucket_list_01_3" />
 
-      <ImageView
-        android:id="@+id/image_2"
-        android:layout_width="124dp"
-        android:layout_height="93dp"
-        android:layout_marginStart="8dp"
-        android:layout_marginTop="21dp"
-        android:src="@drawable/img_bucket_list_02"
-        app:layout_constraintTop_toBottomOf="@+id/image_1"/>
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="18dp"
+                android:layout_marginTop="27dp"
+                android:lineSpacingExtra="6sp"
+                android:text="추억을 공유하는\n다국적 배낭여행"
+                android:textColor="@color/C000000"
+                android:textSize="14sp"
+                app:layout_constraintStart_toEndOf="@+id/image_1"
+                app:layout_constraintTop_toTopOf="@+id/image_1" />
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="18dp"
-        android:layout_marginTop="27dp"
-        android:lineSpacingExtra="6sp"
-        android:text="반려견과 함께\n백패킹 하기"
-        android:textColor="@color/C000000"
-        android:textSize="14sp"
-        app:layout_constraintStart_toEndOf="@+id/image_2"
-        app:layout_constraintTop_toTopOf="@+id/image_2"/>
+            <ImageView
+                android:id="@+id/image_2"
+                android:layout_width="124dp"
+                android:layout_height="93dp"
+                android:layout_marginStart="8dp"
+                android:layout_marginTop="21dp"
+                android:src="@drawable/img_bucket_list_02"
+                app:layout_constraintTop_toBottomOf="@+id/image_1" />
 
-      <ImageView
-        android:id="@+id/image_3"
-        android:layout_width="124dp"
-        android:layout_height="93dp"
-        android:layout_marginStart="8dp"
-        android:layout_marginTop="21dp"
-        android:src="@drawable/img_bucket_list_01_2"
-        app:layout_constraintTop_toBottomOf="@+id/image_2"/>
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="18dp"
+                android:layout_marginTop="27dp"
+                android:lineSpacingExtra="6sp"
+                android:text="반려견과 함께\n백패킹 하기"
+                android:textColor="@color/C000000"
+                android:textSize="14sp"
+                app:layout_constraintStart_toEndOf="@+id/image_2"
+                app:layout_constraintTop_toTopOf="@+id/image_2" />
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="18dp"
-        android:layout_marginTop="27dp"
-        android:lineSpacingExtra="6sp"
-        android:text="남극의 빙하 사이로 \n크루징하기"
-        android:textColor="@color/C000000"
-        android:textSize="14sp"
-        app:layout_constraintStart_toEndOf="@+id/image_3"
-        app:layout_constraintTop_toTopOf="@+id/image_3"/>
+            <ImageView
+                android:id="@+id/image_3"
+                android:layout_width="124dp"
+                android:layout_height="93dp"
+                android:layout_marginStart="8dp"
+                android:layout_marginTop="21dp"
+                android:src="@drawable/img_bucket_list_01_2"
+                app:layout_constraintTop_toBottomOf="@+id/image_2" />
 
-      <ImageView
-        android:id="@+id/image_4"
-        android:layout_width="124dp"
-        android:layout_height="93dp"
-        android:layout_marginStart="8dp"
-        android:layout_marginTop="21dp"
-        android:src="@drawable/img_bucket_list_01"
-        app:layout_constraintTop_toBottomOf="@+id/image_3"/>
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="18dp"
+                android:layout_marginTop="27dp"
+                android:lineSpacingExtra="6sp"
+                android:text="남극의 빙하 사이로 \n크루징하기"
+                android:textColor="@color/C000000"
+                android:textSize="14sp"
+                app:layout_constraintStart_toEndOf="@+id/image_3"
+                app:layout_constraintTop_toTopOf="@+id/image_3" />
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="18dp"
-        android:layout_marginTop="27dp"
-        android:lineSpacingExtra="6sp"
-        android:text="여름을 저장하기 위한\n영화 한 편"
-        android:textColor="@color/C000000"
-        android:textSize="14sp"
-        app:layout_constraintStart_toEndOf="@+id/image_4"
-        app:layout_constraintTop_toTopOf="@+id/image_4"/>
+            <ImageView
+                android:id="@+id/image_4"
+                android:layout_width="124dp"
+                android:layout_height="93dp"
+                android:layout_marginStart="8dp"
+                android:layout_marginTop="21dp"
+                android:src="@drawable/img_bucket_list_01"
+                app:layout_constraintTop_toBottomOf="@+id/image_3" />
 
-    </android.support.constraint.ConstraintLayout>
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="18dp"
+                android:layout_marginTop="27dp"
+                android:lineSpacingExtra="6sp"
+                android:text="여름을 저장하기 위한\n영화 한 편"
+                android:textColor="@color/C000000"
+                android:textSize="14sp"
+                app:layout_constraintStart_toEndOf="@+id/image_4"
+                app:layout_constraintTop_toTopOf="@+id/image_4" />
 
-    <android.support.constraint.ConstraintLayout
-      android:id="@+id/tutorial_bucket_list_tag2"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="26dp"
-      android:layout_marginTop="151dp"
-      android:visibility="gone"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      tools:visibility="visible"
-      >
+        </android.support.constraint.ConstraintLayout>-->
 
-      <ImageView
-        android:id="@+id/image_view_bubble2"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:srcCompat="@drawable/bubble_tutorial_edit"/>
+        <android.support.constraint.ConstraintLayout
+            android:id="@+id/tutorial_bucket_list_tag2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="10dp"
+            android:layout_marginTop="141dp"
+            android:visibility="gone"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:visibility="visible">
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="21dp"
-        android:layout_marginTop="18dp"
-        android:layout_marginEnd="27dp"
-        android:layout_marginBottom="22dp"
-        android:gravity="center_horizontal"
-        android:lineSpacingExtra="4sp"
-        android:text="@string/tutorial_bucket_list_update"
-        android:textColor="@color/C000000"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toBottomOf="@+id/image_view_bubble2"
-        app:layout_constraintEnd_toEndOf="@+id/image_view_bubble2"
-        app:layout_constraintStart_toStartOf="@+id/image_view_bubble2"
-        app:layout_constraintTop_toTopOf="@+id/image_view_bubble2"
-        />
-    </android.support.constraint.ConstraintLayout>
+            <ImageView
+                android:id="@+id/image_view_bubble2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                app:layout_constraintTop_toTopOf="parent"
+                app:srcCompat="@drawable/bubble_tutorial_edit" />
 
-    <android.support.constraint.ConstraintLayout
-      android:id="@+id/tutorial_bucket_list_tag1"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="22dp"
-      android:layout_marginTop="10dp"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/layout_tag"
-      tools:visibility="visible">
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="21dp"
+                android:layout_marginTop="18dp"
+                android:layout_marginEnd="27dp"
+                android:layout_marginBottom="22dp"
+                android:gravity="center_horizontal"
+                android:lineSpacingExtra="4sp"
+                android:text="@string/tutorial_bucket_list_update"
+                android:textColor="@color/C000000"
+                android:textSize="12sp"
+                app:layout_constraintBottom_toBottomOf="@+id/image_view_bubble2"
+                app:layout_constraintEnd_toEndOf="@+id/image_view_bubble2"
+                app:layout_constraintStart_toStartOf="@+id/image_view_bubble2"
+                app:layout_constraintTop_toTopOf="@+id/image_view_bubble2" />
+        </android.support.constraint.ConstraintLayout>
+
+        <android.support.constraint.ConstraintLayout
+            android:visibility="gone"
+            android:id="@+id/tutorial_bucket_list_tag1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="22dp"
+            android:layout_marginTop="290dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:visibility="visible">
 
-      <ImageView
-        android:id="@+id/image_view_bubble"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:srcCompat="@drawable/bubble_tutorial_related_tags"
-        />
+            <ImageView
+                android:id="@+id/image_view_bubble"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:srcCompat="@drawable/bubble_tutorial_related_tags" />
 
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="21dp"
-        android:layout_marginTop="18dp"
-        android:layout_marginEnd="27dp"
-        android:layout_marginBottom="21dp"
-        android:gravity="center_horizontal"
-        android:lineSpacingExtra="4sp"
-        android:text="@string/tutorial_bucket_list_tag"
-        android:textColor="@color/C000000"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toBottomOf="@+id/image_view_bubble"
-        app:layout_constraintEnd_toEndOf="@+id/image_view_bubble"
-        app:layout_constraintStart_toStartOf="@+id/image_view_bubble"
-        app:layout_constraintTop_toTopOf="@+id/image_view_bubble"
-        />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="21dp"
+                android:layout_marginTop="18dp"
+                android:layout_marginEnd="27dp"
+                android:layout_marginBottom="21dp"
+                android:gravity="center_horizontal"
+                android:lineSpacingExtra="4sp"
+                android:text="@string/tutorial_bucket_list_tag"
+                android:textColor="@color/C000000"
+                android:textSize="12sp"
+                app:layout_constraintBottom_toBottomOf="@+id/image_view_bubble"
+                app:layout_constraintEnd_toEndOf="@+id/image_view_bubble"
+                app:layout_constraintStart_toStartOf="@+id/image_view_bubble"
+                app:layout_constraintTop_toTopOf="@+id/image_view_bubble" />
+        </android.support.constraint.ConstraintLayout>
     </android.support.constraint.ConstraintLayout>
-  </android.support.constraint.ConstraintLayout>
 </android.support.constraint.ConstraintLayout>