我正在创建一个模糊底层 Activity 的新 Activity 。我通过执行以下操作创建了它:
- 在旧的 Activity 中,截屏并在 Intent 中将其作为字节数组发送
- 在新 Activity 中,给它一个透明的主题
- 让新 Activity 从 Intent 中获取图像,然后将其设置为背景。
- 在其上方有一个模糊背景的图层。
但是,我想淡化背景变化而不是即时变化。
这就是我现在正在做的:
if (getIntent().hasExtra("image")) {
byte[] byteArray = getIntent().getByteArrayExtra("image");
if (byteArray != null) {
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
BitmapDrawable drawable = new BitmapDrawable(getResources(), bmp);
if (drawable != null) {
mBackgroundFrame.setBackground(drawable);
}
}
}
如何使用淡入动画设置 setBackground(drawable)?
最佳答案
假设 mBackgroundFrame
是一个 ImageView
,您可以按如下方式进行淡入淡出:
mBackgroundFrame.setBackground(drawable);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.fadein);
mBackgroundFrame.startAnimation(animation);
并创建一个anim/fadein.xml
资源:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="3000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
</set>
关于android - 如何为背景图像的变化设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396586/