我有这个淡入淡出功能
private void fadeIn() {
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(ButtonA, "alpha", 0f, 1f);
objectAnimator.setDuration(2000L);
objectAnimator.addListener(new AnimatorListenerAdapter() {
});
objectAnimator.start();
}
现在唯一的目标是 ButtonA,我还有 3 个按钮(ButtonB、ButtonC ....)我是否可以定位所有四个按钮,而无需将此代码 fragment 编写 4 次?
最佳答案
试试这个
private static void fadeIn(long duration, final View... views) {
if (views == null) return;
final ValueAnimator va = ValueAnimator.ofFloat(0, 1);
va.setDuration(duration);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
final float alpha = (float) animator.getAnimatedValue();
for (View view : views) view.setAlpha(alpha);
}
});
va.start();
}
使用方法:
// first argument duration and then pass any number of views
fadeIn(2000, buttonA, buttonB, buttonC);
关于java - 是否可以将 ofFloat 设置为多个目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54810161/