闪烁按钮 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);
如何让按钮有闪烁的动画?
我想在等待检索用户位置时添加它,但我看不到任何示例。
我现在所做的只是更改背景,然后在检索位置后再次更改。
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);