Quellcode durchsuchen

[LP소개][Common] LP소개 애니메이션 추가

Hasemi vor 7 Jahren
Ursprung
Commit
d952f0ff42

+ 91 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/introduction/guide/GuideLastViewHolder.java

@@ -8,6 +8,10 @@ import android.view.View;
 import android.view.animation.DecelerateInterpolator;
 import android.widget.ImageView;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -29,17 +33,43 @@ public class GuideLastViewHolder extends GuideView {
   private ConstraintLayout layoutHeader;
   private ImageView imageViewObject;
   private WhiteButtonWithArrowView whiteButtonWithArrowView;
+  private ImageView paper1;
+  private ImageView paper2;
+  private ImageView paper3;
+  private ImageView paper4;
+  private ImageView paper5;
+  private ImageView paper6;
+  private ImageView paper7;
+  private ImageView paper8;
+  private ImageView paper9;
+  private ImageView paper10;
+  private ImageView paper11;
+  private ImageView paper12;
+  private List<ImageView> paperImageList;
 
   public GuideLastViewHolder(Context context, View itemView) {
     super(context, itemView);
     layoutHeader = itemView.findViewById(R.id.layout_header);
     imageViewObject = itemView.findViewById(R.id.image_view_object);
     whiteButtonWithArrowView = itemView.findViewById(R.id.black_button_with_arrow);
+
+    paper1 = itemView.findViewById(R.id.paper_1);
+    paper2 = itemView.findViewById(R.id.paper_2);
+    paper3 = itemView.findViewById(R.id.paper_3);
+    paper4 = itemView.findViewById(R.id.paper_4);
+    paper5 = itemView.findViewById(R.id.paper_5);
+    paper6 = itemView.findViewById(R.id.paper_6);
+    paper7 = itemView.findViewById(R.id.paper_7);
+    paper8 = itemView.findViewById(R.id.paper_8);
+    paper9 = itemView.findViewById(R.id.paper_9);
+    paper10 = itemView.findViewById(R.id.paper_10);
+    paper11 = itemView.findViewById(R.id.paper_11);
+    paper12 = itemView.findViewById(R.id.paper_12);
+    paperImageList = new ArrayList<>(Arrays.asList(paper1, paper2, paper3, paper4, paper5, paper6, paper7, paper8, paper9, paper10, paper11, paper12));
   }
 
   @Override
   public void init(IEventListener listener) {
-
     if (SuperModel.getInstance().isMember()) {whiteButtonWithArrowView.setVisibility(View.GONE);}
     whiteButtonWithArrowView.setOnClickListener(view -> {
       if (null != listener) {
@@ -47,13 +77,22 @@ public class GuideLastViewHolder extends GuideView {
       }
     });
     setDefaultSetting();
+
+
+    for (int i = 0; i < paperImageList.size(); i++) {
+      setPaperAnimationSetting(paperImageList.get(i));
+    }
   }
 
   @Override
   public void setIndex(int index) {
     super.setIndex(index);
+    if (index == 5) {
       startAnimation();
-
+      for (int i = 0; i < paperImageList.size(); i++) {
+        startPaperAnimation(paperImageList.get(i));
+      }
+    }
   }
 
 
@@ -75,6 +114,56 @@ public class GuideLastViewHolder extends GuideView {
   public void setDefaultSetting() {
     layoutHeader.setTranslationY(50f);
     imageViewObject.setTranslationY(300f);
+
+  }
+
+  private void setPaperAnimationSetting(ImageView imageViewPaper) {
+    imageViewPaper.setAlpha(0.0f);
+    imageViewPaper.setTranslationX(0);
+    imageViewPaper.setTranslationY(0);
+    imageViewPaper.setScaleX(0.5f);
+    imageViewPaper.setScaleY(0.5f);
+  }
+
+  private void startPaperAnimation(ImageView imageViewPaper) {
+
+    int randomX = (int) (Math.random() * 800 - 400);
+    if (randomX > 0) {
+      randomX = randomX + 100;
+    }
+    else {
+      randomX = randomX - 100;
+    }
+    int randomY = (int) (Math.random() * 800 - 400);
+    if (randomY > 0) {
+      randomY = randomY + 100;
+    }
+    else {
+      randomY = randomY - 100;
+    }
+
+    ObjectAnimator paperAlphaAnimation = ObjectAnimator.ofFloat(imageViewPaper, View.ALPHA, 0.0f, 1.0f);
+    paperAlphaAnimation.setDuration(200);
+
+    ObjectAnimator paperAnimationScaleX = ObjectAnimator.ofFloat(imageViewPaper, View.SCALE_X, 0.5f, 1.0f);
+
+    ObjectAnimator paperAnimationScaleY = ObjectAnimator.ofFloat(imageViewPaper, View.SCALE_Y, 0.5f, 1.0f);
+
+    ObjectAnimator paperAnimationTranslationX = ObjectAnimator.ofFloat(imageViewPaper, View.TRANSLATION_Y, 0.0f, randomX);
+
+    paperAnimationTranslationX.setDuration(1000);
+
+    ObjectAnimator paperAnimationTranslationY = ObjectAnimator.ofFloat(imageViewPaper, View.TRANSLATION_X, 0.0f, randomY);
+
+
+    paperAnimationScaleY.setDuration(1000);
+
+    AnimatorSet animatorSet = new AnimatorSet();
+    animatorSet.playTogether(paperAlphaAnimation, paperAnimationScaleX, paperAnimationScaleY, paperAnimationTranslationX, paperAnimationTranslationY);
+    animatorSet.setInterpolator(new DecelerateInterpolator());
+    animatorSet.setStartDelay(1000);
+    animatorSet.setDuration(1500);
+    animatorSet.start();
   }
 
 }

BIN
app/src/main/res/drawable-hdpi/img_lpguide_6_object.png


BIN
app/src/main/res/drawable-mdpi/img_lpguide_6_object.png


BIN
app/src/main/res/drawable-xhdpi/img_lpguide_6_object.png


BIN
app/src/main/res/drawable-xxhdpi/img_lpguide_6_object.png


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


+ 128 - 6
app/src/main/res/layout/app_guide_last_view.xml

@@ -11,8 +11,8 @@
   <android.support.constraint.ConstraintLayout
     android:id="@+id/layout_header"
     android:layout_width="wrap_content"
-    android:layout_marginTop="72dp"
     android:layout_height="wrap_content"
+    android:layout_marginTop="72dp"
     app:layout_constraintEnd_toEndOf="parent"
     app:layout_constraintStart_toStartOf="parent"
     app:layout_constraintTop_toTopOf="parent">
@@ -23,12 +23,12 @@
       android:layout_height="wrap_content"
       android:gravity="center_horizontal"
       android:lineSpacingExtra="7sp"
+      android:text="@string/life_plus_guide_title_6"
       android:textColor="@color/C000000"
       android:textSize="18sp"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      android:text="@string/life_plus_guide_title_6"/>
+      app:layout_constraintTop_toTopOf="parent"/>
 
     <TextView
       android:id="@+id/text_view_contents"
@@ -37,12 +37,12 @@
       android:layout_marginTop="10dp"
       android:gravity="center_horizontal"
       android:lineSpacingExtra="6sp"
+      android:text="@string/life_plus_guide_contents_6"
       android:textColor="@color/C666666"
       android:textSize="14sp"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/text_view_title"
-      android:text="@string/life_plus_guide_contents_6"/>
+      app:layout_constraintTop_toBottomOf="@+id/text_view_title"/>
 
 
     <kr.co.zumo.app.lifeplus.view.custom.WhiteButtonWithArrowView
@@ -63,10 +63,132 @@
     android:id="@+id/image_view_object"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
+    android:layout_marginBottom="112dp"
     android:scaleType="centerCrop"
-    android:src="@drawable/img_lpguide_6_object"
+    android:src="@drawable/img_gift_coupon"
     app:layout_constraintBottom_toBottomOf="parent"
     app:layout_constraintEnd_toEndOf="parent"
     app:layout_constraintStart_toStartOf="parent"/>
 
+  <ImageView
+    android:id="@+id/paper_1"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_01"/>
+
+  <ImageView
+    android:id="@+id/paper_2"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_02"/>
+
+  <ImageView
+    android:id="@+id/paper_3"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_03"/>
+
+  <ImageView
+    android:id="@+id/paper_4"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_04"/>
+
+  <ImageView
+    android:id="@+id/paper_5"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_05"/>
+
+  <ImageView
+    android:id="@+id/paper_6"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_06"/>
+
+  <ImageView
+    android:id="@+id/paper_7"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_07"/>
+
+  <ImageView
+    android:id="@+id/paper_8"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_09"/>
+
+  <ImageView
+    android:id="@+id/paper_9"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_10"/>
+
+  <ImageView
+    android:id="@+id/paper_10"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_11"/>
+
+  <ImageView
+    android:id="@+id/paper_11"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_12"/>
+
+  <ImageView
+    android:id="@+id/paper_12"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="@dimen/lp_guide_paper_margint_bottom"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:srcCompat="@drawable/ic_paper_13"/>
+
+
 </android.support.constraint.ConstraintLayout>

+ 1 - 0
app/src/main/res/values/dimens.xml

@@ -17,4 +17,5 @@
   <dimen name="main_contents_image_horizontal_padding_end">12dp</dimen>
   <dimen name="main_contents_first_image_offset_from_bottom">286dp</dimen> <!-- 45dp + (26+12)/2dp + 222dp -->
 
+  <dimen name="lp_guide_paper_margint_bottom">220dp</dimen>
 </resources>