【发布时间】:2017-11-29 15:44:06
【问题描述】:
在我的应用程序中,我想要一个图像按钮来通过动画更改其 alpha。
imagebutton 的 alpha 在oncreate 0 中。它是不可见的。现在,当我点击某个按钮然后去:
Onclick
{
mybutton.Alpha = 1f;
};
然后它将我的按钮 alpha 更改为 1。因此按钮是可见的。
我现在决定,我不希望按钮在一帧内简单地从 0 变为 1,而是希望它具有动画效果。说从 0 到 1 的 1 秒内。所以我写了这个函数:
private void AnimForBtnAwesome(float intAnimateToAlpha)
{
AlphaAnimation animation = null;
animation = new AlphaAnimation(0, intAnimateToAlpha);
animation.FillAfter = true;
animation.SetInterpolator(this, Android.Resource.Animation.AccelerateDecelerateInterpolator);
animation.Duration = 1000;
btnAwesome.StartAnimation(animation);
}
除非我的按钮的初始 alpha 设置为 1(在 oncreate 中),否则此函数什么都不做。
但我希望我的按钮在单击某个按钮之前不可见(上面的onclick)。
当我在oncreate 中将所述按钮的初始 alpha 设置为 1 并且动画开始时,它基本上会消失一帧,然后淡入一秒钟前的位置。这很愚蠢,似乎很容易解决。但是我一直无法找出为什么会这样以及如何绕过它。也许还有另一种隐藏按钮而不调整 alpha 的方法?虽然这看起来太麻烦了。为什么不让它通过动画将其初始 alpha 值更改为 1?
【问题讨论】: