| package com.android.launcher3.anim; |
| |
| import android.animation.ObjectAnimator; |
| import android.animation.PropertyValuesHolder; |
| import android.view.View; |
| |
| import java.util.ArrayList; |
| |
| /** |
| * Helper class to build a list of {@link PropertyValuesHolder} for view properties |
| */ |
| public class PropertyListBuilder { |
| |
| private final ArrayList<PropertyValuesHolder> mProperties = new ArrayList<>(); |
| |
| public PropertyListBuilder translationX(float value) { |
| mProperties.add(PropertyValuesHolder.ofFloat(View.TRANSLATION_X, value)); |
| return this; |
| } |
| |
| public PropertyListBuilder translationY(float value) { |
| mProperties.add(PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, value)); |
| return this; |
| } |
| |
| public PropertyListBuilder scaleX(float value) { |
| mProperties.add(PropertyValuesHolder.ofFloat(View.SCALE_X, value)); |
| return this; |
| } |
| |
| public PropertyListBuilder scaleY(float value) { |
| mProperties.add(PropertyValuesHolder.ofFloat(View.SCALE_Y, value)); |
| return this; |
| } |
| |
| /** |
| * Helper method to set both scaleX and scaleY |
| */ |
| public PropertyListBuilder scale(float value) { |
| return scaleX(value).scaleY(value); |
| } |
| |
| public PropertyListBuilder alpha(float value) { |
| mProperties.add(PropertyValuesHolder.ofFloat(View.ALPHA, value)); |
| return this; |
| } |
| |
| public ObjectAnimator build(View view) { |
| return ObjectAnimator.ofPropertyValuesHolder(view, |
| mProperties.toArray(new PropertyValuesHolder[mProperties.size()])); |
| } |
| } |