我在我的Xamarin.Forms應用程序計數器,我試圖執行一個話語權,當它到達確切秒或毫秒,但它從來沒有得到執行。Xamarin.Forms.Device.StartTimer - 不能捕捉精確的第二或毫秒
下面是代碼示例:
Xamarin.Forms.Device.StartTimer(TimeSpan.FromMilliseconds(1000),() =>
{
ts = sw.Elapsed;
lblTimer.Text = String.Format("{0:00}:{1:00}", ts.Minutes, ts.Seconds);
if (ts.Seconds == 45)
Plugin.TextToSpeech.CrossTextToSpeech.Current.Speak("45 seconds");
if (ts.TotalSeconds == 60)
Plugin.TextToSpeech.CrossTextToSpeech.Current.Speak("120 seconds");
if (ts.TotalSeconds > 60 && ts.TotalSeconds <61)
Plugin.TextToSpeech.CrossTextToSpeech.Current.Speak("1 minute.!");
});
上面的代碼將只執行的最後一個時,它是間。我想這兩個Seconds
和TotalSeconds
以及MilliSeconds
和TotalMilliseconds
。當我嘗試平等使用它不起作用。它只在更大或更小時才起作用。
每個平臺都有不同的定時器實現(在Android上,他們使用的是私人'Looper'),並具有調用回調** **後您1000毫秒的時間跨度已經結束,您'Elapsed'將永遠不會被* *保證以配合您的時間跨度間隔... – SushiHangover
你不介意一個小樣本,或者如果你知道關於它的鏈接? – batmaci
什麼樣的樣本? – SushiHangover