【发布时间】:2014-01-04 21:49:30
【问题描述】:
我有动画:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:fromAlpha="0.2"
android:toAlpha="1.0"
android:duration="500"/>
</set>
和ImageView:
<ImageView
android:id="@+id/listViewIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/settings"
android:alpha="0.2"/>
和代码:
final Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha);
final ImageView iv = (ImageView) findViewById(R.id.listViewIcon);
anim .setFillAfter(true);
iv.startAnimation(anim);
所以一开始我有ImageView 和阿尔法0.2,最后我想有ImageView 和阿尔法1。但它不是这样工作的 - 当动画开始时添加更多 alpha 并且动画以 alpha 结束 0.2
我必须更改哪些内容才能将图像从 0.2 变为 1?
我检查了不同的设置 - 我设置了 android:alpha="1.0"、fromAlpa="1.0"、toAlpha="0.2",它的工作方式与我预期的一样 - 从 alpha 1 到 0.2。看起来ImageView 的 alpha 乘以动画的 alpha...
【问题讨论】:
-
要防止视图最后跳回 0.2 alpha,请使用
fillAfter属性:developer.android.com/reference/android/view/animation/… -
事实并非如此。 Alpha 不会变为 1。当我从 1->0.2 进行动画处理时,它工作正常并保持在 0.2(之后我使用填充)。当我想从 0.2 动画到 1 时,它会消失到几乎 0 并变为 0.2
-
您是否将
fillEnabled设置为true?
标签: java android animation kotlin alpha