diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java index 6a58910..1350a78 100644 --- a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java @@ -2,7 +2,9 @@ package com.example.fitbot.ui.activities; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.app.Dialog; import android.content.Context; import android.content.res.ColorStateList; @@ -97,6 +99,12 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall ProgressBar loadingCircle = findViewById(R.id.loadingCircle); loadingCircle.setIndeterminateTintList(ColorStateList.valueOf(Color.RED)); + // Shimmer animation for loading elements + View shimmerFitnessTitle = findViewById(R.id.textViewFitnessTitle); + View shimmerFitnessText = findViewById(R.id.textViewFitnessShortDescription); + shimmerAnimation(shimmerFitnessTitle); + shimmerAnimation(shimmerFitnessText); + // Navigation Buttons NavigationManager.setupButtonNavigation(this, R.id.homeButtonFitness, MainActivity.class); NavigationManager.setupButtonNavigation(this, R.id.skipButtonFitness, MainActivity.class); //Needs to skip exercises once those are implemented @@ -298,4 +306,19 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall }); animator.start(); } + + public void shimmerAnimation(View view) { + ObjectAnimator animator = ObjectAnimator.ofObject( + view, + "backgroundColor", + new ArgbEvaluator(), + ContextCompat.getColor(view.getContext(), R.color.shimmerStartColor), + ContextCompat.getColor(view.getContext(), R.color.shimmerEndColor) + ); + animator.setDuration(1000); + animator.setRepeatCount(ValueAnimator.INFINITE); + animator.setRepeatMode(ValueAnimator.REVERSE); + animator.start(); + } + } \ No newline at end of file diff --git a/code/src/Fitbot/app/src/main/res/values/colors.xml b/code/src/Fitbot/app/src/main/res/values/colors.xml index 001b7ff..2e62d38 100644 --- a/code/src/Fitbot/app/src/main/res/values/colors.xml +++ b/code/src/Fitbot/app/src/main/res/values/colors.xml @@ -15,5 +15,7 @@ #000000 #000000 #00000000 + #EFEFEF + #DDDDDD