java - 是否可以将 ofFloat 设置为多个目标?

标签 java android

我有这个淡入淡出功能

    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/

相关文章:

java - AutoCompleteTextView选择结果后返回模型

java - 想要每次保存 for 循环中的值

java - 意外 40 毫秒 ping

java - 如何发出 HTTP 删除/更新请求?

java - JAVA 中使用 JDBC 的 SQL 语法

android - 如何拍摄照片并获取图像和缩略图?

java - 从 ArrayList 中检索数据

Java Scanner(File) 行为异常,但 Scanner(FIleInputStream) 始终处理同一个文件

java - 开始 : Applet not initialized

java - 如何将文件从文件选择器传递到函数?