【发布时间】:2013-03-03 00:41:45
【问题描述】:
我的活动有大约 4-5 次浏览。它有一个白色的背景。 理想情况下,我想将整个活动淡化为纯白色,然后淡入新活动。 但由于彩色动画是不可能的,我已经放弃了这个想法。我制作的动画是这样的:
淡入:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="1200"/>
</set>
淡出:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="1200"/>
</set>
我只是通过将以下代码行添加到我的所有活动来设置动画:
overridePendingTransition( R.animator.fadein, R.animator.fadeout);
但是问题来了:当使用activity的alpha值淡出时,当alpha值降低时整个activity变成灰色。这在白色背景下看起来不漂亮。
所以我想出了一个想法,就是淡出该活动的所有视图。我的问题:我该如何正确地做到这一点?顺便说一句,如果有人有更好的想法,请随时告诉我。谢谢!
【问题讨论】:
-
我有一些问题:活动淡入/淡出的触发因素是什么?我的意思是,您如何为特定视图启动动画?你使用什么 setAlpha() (带有 int 或 float 参数的那个)?
-
触发器是两个activity之间的切换。我只是用上面问题中的最后一行代码覆盖了标准的 android 转换。