Android View 透明度动画
时间: 2023-09-09 21:05:49 浏览: 99
在 Android 中,您可以使用透明度动画来改变 View 的可见性。以下是一个简单的示例代码,展示了如何使用透明度动画实现 View 的淡入淡出效果:
```java
import android.animation.ObjectAnimator;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private View myView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myView = findViewById(R.id.my_view);
// 设置初始透明度为 0
myView.setAlpha(0f);
// 创建透明度动画,从 0 到 1,持续时间为 1000 毫秒
ObjectAnimator fadeIn = ObjectAnimator.ofFloat(myView, "alpha", 0f, 1f);
fadeIn.setDuration(1000);
// 创建透明度动画,从 1 到 0,持续时间为 1000 毫秒
ObjectAnimator fadeOut = ObjectAnimator.ofFloat(myView, "alpha", 1f, 0f);
fadeOut.setDuration(1000);
// 设置动画循环播放
fadeIn.setRepeatCount(ObjectAnimator.INFINITE);
fadeOut.setRepeatCount(ObjectAnimator.INFINITE);
// 顺序播放淡入和淡出动画
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playSequentially(fadeIn, fadeOut);
// 开始动画
animatorSet.start();
}
}
```
在上述代码中,我们使用 `ObjectAnimator` 创建了两个透明度动画,一个用于淡入效果,一个用于淡出效果。然后,我们使用 `AnimatorSet` 将这两个动画按顺序播放,并将动画设置为循环播放。最后,调用 `start()` 方法开始动画。
请注意,上述代码需要在 `onCreate()` 方法或其他适当的生命周期方法中调用,以确保正确的 View 初始化和动画启动。同时,您需要替换代码中的 `R.layout.activity_main` 和 `R.id.my_view` 分别为您的布局文件和目标 View 的 ID。
这样,您就可以实现一个简单的透明度动画效果,让 View 在淡入和淡出之间循环显示。
阅读全文