Я хочу создать таймер обратного отсчета для моего текста в моем проекте дроида в MVVMCross.Обратный отсчет MVVMCross с Xamarin Android
У меня есть небольшая проблема с этим решением, потому что я не могу использовать System.Threading.Timer, так что мне нужно, чтобы создать свой собственный класс.
Но я не знаю, как, потому что мой собственный класс должен быть в бизнес-проект, и этот класс должен быть вызван с моим проектом .Core с моим UI проекта ...
Можете ли вы мне помочь?
Спасибо
Я сделал это, но не работает: TimerCustom класса в SelfieBox.Business
public class TimerCustom
{
private int _valueOfTimer;
private bool _timerRunning;
public int ValueOfTimer
{
get { return _valueOfTimer; }
set { _valueOfTimer = value; }
}
public TimerCustom(int valueOfTimer)
{
_valueOfTimer = valueOfTimer;
}
public async Task<TimerCustom> Start()
{
if (!_timerRunning)
{
_timerRunning = true;
await RunTimer();
}
return this;
}
private async Task RunTimer()
{
while (_timerRunning && _valueOfTimer > 0)
{
await Task.Delay(1);
_valueOfTimer--;
if (_valueOfTimer == 0)
{
_timerRunning = false;
}
}
}
}
ViewModel в SelfieBox.Core:
public class SecondStep_Photo_ViewModel : MvxViewModel
{
private Business.Models.TimerCustom _timerCustom;
#region Prop => Value Of Timer
private int _valueOfTimer;
public int ValueOfTimer
{
get { return _valueOfTimer; }
set { _valueOfTimer = value; }
}
#endregion
public SecondStep_Photo_ViewModel()
{
_timerCustom = new Business.Models.TimerCustom(5);
_timerCustom.Start();
ValueOfTimer = _timerCustom.ValueOfTimer;
}
}
И на мой взгляд, в SelfieBox.Droid:
...<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/TxtTimer"
android:textSize="200dp"
android:textStyle="bold"
android:gravity="center"
android:visible="false"
android:layout_centerInParent="true"
local:MvxBind="Text ValueOfTimer; Visible DisplayTimer"/>
Мой таймер снизился красиво, но она не отображается на моем экране
Работайте хорошо! Очень благодарю вас, Чизбарон! –