diff --git a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java
index 508cec0c28..8212a768c8 100644
--- a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java
+++ b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java
@@ -1,5 +1,7 @@
package com.mogo.module.check.view;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
@@ -7,8 +9,10 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
+import android.view.View;
import android.view.animation.AnimationSet;
import android.widget.Button;
import android.widget.ImageView;
@@ -24,6 +28,7 @@ import com.mogo.module.check.net.CheckApiServices;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.common.constants.HostConst;
+import com.mogo.module.common.view.ImageViewClipBounds;
import com.mogo.module.common.view.SpacesItemDecoration;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.CommonUtils;
@@ -48,13 +53,18 @@ public class CheckActivity extends AppCompatActivity {
private static String mSignalStrength;
private ImageView mImageView;
private String packageName = "com.mogo.launcher.f";
- //扫描图片
- private ImageView scanLipImageView;
- //车辆模型顶部动画图片
- private ImageView scanTopImageView;
+ //车模
+ private ImageView scanBottomCarImage;
+ //扫描束
+ private ImageView scanLineImage;
+ //车辆模型顶部色值加深车模
+ private ImageViewClipBounds scanTopImageView;
+ //车模顶部小部件图片
+ private ImageViewClipBounds tipsImageView;
//动画组
- private AnimatorSet mAnimatorSet;
+ private AnimatorSet setAnimation = null;
private ValueAnimator mValueAnimator;
+ private float movement = 1300f;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -67,10 +77,12 @@ public class CheckActivity extends AppCompatActivity {
* 列表View初始化
*/
public void initView() {
- mAnimatorSet = new AnimatorSet();
+ setAnimation = new AnimatorSet();
mImageView = findViewById(R.id.btnBack);
- scanLipImageView = findViewById(R.id.scan_lip_image);
+ scanBottomCarImage = findViewById(R.id.scan_car_image);
+ scanLineImage = findViewById(R.id.scan_line_image);
scanTopImageView = findViewById(R.id.scan_car_top_image);
+ tipsImageView = findViewById(R.id.scan_car_tips);
context = mImageView.getContext();
packageName = getPackageName(context);
mImageView.setOnClickListener(v -> {
@@ -140,18 +152,70 @@ public class CheckActivity extends AppCompatActivity {
* **************************************************************************************检测动画
*/
public void animation() {
- ObjectAnimator animatorForLip = ObjectAnimator.ofFloat(scanLipImageView, "translationX", 1162f);
- mValueAnimator = ValueAnimator.ofInt(1162);
+ ObjectAnimator animatorX = ObjectAnimator.ofFloat(scanLineImage, "translationX", scanBottomCarImage.getWidth(), 0);
+ ObjectAnimator animatorAl = ObjectAnimator.ofFloat(scanLineImage, "alpha", 0, 1);
+ setAnimation.playTogether(animatorX, animatorAl);
+ setAnimation.setDuration(800);
+ setAnimation.start();
+ setAnimation.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ if (scanTopImageView != null) {
+ movement = (float) scanTopImageView.getWidth();
+ scanLineImage.setVisibility(View.VISIBLE);
+ scanTopImageView.setVisibility(View.VISIBLE);
+ tipsImageView.setVisibility(View.VISIBLE);
+ }
+ if (scanLineImage != null) {
+ scanLineImage
+ .animate()
+ .translationX(movement)
+ .setDuration(5000)
+ .setListener(new Animator.AnimatorListener() {
+ @Override
+ public void onAnimationStart(Animator animation) {
+ animatorScanCarBorder(true, scanTopImageView.getWidth());
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {
+
+ }
+
+ @Override
+ public void onAnimationRepeat(Animator animation) {
+
+ }
+ }).start();
+ }
+ }
+ });
+ }
+
+ /**
+ * 扫描动画:实现扫描束位移+顶部深色车模及检测元件的显示
+ */
+ public void animatorScanCarBorder(boolean show, int weight) {
+ if (show) {
+ mValueAnimator = ValueAnimator.ofInt(0, weight);
+ } else {
+ }
mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
- scanTopImageView.getLayoutParams().width = (int) animation.getAnimatedValue();
- scanTopImageView.requestLayout();
+ Rect rect = new Rect(0, 0, (int) mValueAnimator.getAnimatedValue(), scanTopImageView.getHeight());
+ scanTopImageView.setClip(rect);
+ tipsImageView.setClip(rect);
}
});
- mAnimatorSet.playTogether(animatorForLip, mValueAnimator);
- mAnimatorSet.setDuration(5000);
- mAnimatorSet.start();
+ mValueAnimator.setDuration(5000);
+ mValueAnimator.start();
}
/**
diff --git a/modules/mogo-module-check/src/main/res/drawable/test_image.png b/modules/mogo-module-check/src/main/res/drawable/test_image.png
deleted file mode 100644
index ecf1af07b4..0000000000
Binary files a/modules/mogo-module-check/src/main/res/drawable/test_image.png and /dev/null differ
diff --git a/modules/mogo-module-check/src/main/res/layout/activity_check.xml b/modules/mogo-module-check/src/main/res/layout/activity_check.xml
index 3d3aa43f34..ee102048ca 100644
--- a/modules/mogo-module-check/src/main/res/layout/activity_check.xml
+++ b/modules/mogo-module-check/src/main/res/layout/activity_check.xml
@@ -42,33 +42,27 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
+ android:scaleType="fitXY"
+ android:src="@drawable/check_scan_second"
+ android:visibility="invisible"
+ app:layout_constraintLeft_toLeftOf="@id/scan_car_image"
+ app:layout_constraintTop_toTopOf="@id/scan_car_image" />
-
@@ -96,7 +90,7 @@
app:layout_constraintTop_toBottomOf="@id/check_progress_text" />