闪烁按钮 Xamarin Android

Blinking Button Xamarin Android

如何让按钮有闪烁的动画?

我想在等待检索用户位置时添加它,但我看不到任何示例。

我现在所做的只是更改背景,然后在检索位置后再次更改。

button.SetBackgroundColor(new Color(ContextCompat.GetColor(this.Context, Resource.Color.primaryColor)));

通常我会说使用 Xamarin 的动画 class,但您不要求任何渐变。然后我会使用 System.Threading.Timer:

private readonly Timer _blinkTimer;

然后在你的构造函数中:

_blinkTimer= new Timer(BlinkTimerCallback);

创建 BlinkTimerCallback 方法:

private void BlinkTimerCallback(object state)
{
    // This is sudo code - I don't know the proper syntax off the top of my head
    if(button.BackgroundColor == red)
    {
        button.SetBackgroundColor(gray);
    }
    else
    {
        button.SetBackgroundColor(red);
    }
}

然后您只需根据状态关闭或打开计时器即可:

打开它:

_blinkTimer.Change(new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 1));

要关闭它:

_blinkTimer.Change(Timeout.Infinite, Timeout.Infinite);