Merge "Add support for text color animations in PropertySetter." into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4618d3471f
@@ -26,6 +26,7 @@ import android.util.FloatProperty;
|
||||
import android.util.IntProperty;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.launcher3.util.MultiScalePropertyFactory;
|
||||
|
||||
@@ -115,6 +116,32 @@ public class LauncherAnimUtils {
|
||||
}
|
||||
};
|
||||
|
||||
public static final IntProperty<TextView> TEXT_COLOR =
|
||||
new IntProperty<TextView>("textColor") {
|
||||
@Override
|
||||
public Integer get(TextView view) {
|
||||
return view.getTextColors().getDefaultColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(TextView view, int color) {
|
||||
view.setTextColor(color);
|
||||
}
|
||||
};
|
||||
|
||||
public static final IntProperty<TextView> HINT_TEXT_COLOR =
|
||||
new IntProperty<TextView>("hintTextColor") {
|
||||
@Override
|
||||
public Integer get(TextView view) {
|
||||
return view.getHintTextColors().getDefaultColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(TextView view, int color) {
|
||||
view.setHintTextColor(color);
|
||||
}
|
||||
};
|
||||
|
||||
public static final FloatProperty<View> VIEW_TRANSLATE_X =
|
||||
View.TRANSLATION_X instanceof FloatProperty ? (FloatProperty) View.TRANSLATION_X
|
||||
: new FloatProperty<View>("translateX") {
|
||||
|
||||
@@ -97,6 +97,18 @@ public class AnimatedPropertySetter extends PropertySetter {
|
||||
return anim;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public <T> Animator setColor(T target, IntProperty<T> property, int value,
|
||||
TimeInterpolator interpolator) {
|
||||
if (property.get(target) == value) {
|
||||
return NO_OP;
|
||||
}
|
||||
Animator anim = ObjectAnimator.ofArgb(target, property, value);
|
||||
anim.setInterpolator(interpolator);
|
||||
add(anim);
|
||||
return anim;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a callback to be run on every frame of the animation
|
||||
|
||||
@@ -88,6 +88,16 @@ public abstract class PropertySetter {
|
||||
return NO_OP;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a color property of the target using the provided interpolator
|
||||
*/
|
||||
@NonNull
|
||||
public <T> Animator setColor(T target, IntProperty<T> property, int value,
|
||||
TimeInterpolator interpolator) {
|
||||
property.setValue(target, value);
|
||||
return NO_OP;
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs the animation as part of setting the property
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user