Ich möchte einen Countdown-Timer für meine Textansicht in meinem Droid-Projekt in MVVMCross erstellen.Countdown MVVMCross mit Xamarin Android
ich ein kleines Problem mit dieser Lösung habe, weil ich nicht System.Threading.Timer verwenden kann, so brauche ich meine eigene Klasse zu erstellen.
Aber ich weiß nicht wie, weil meine eigene Klasse im Business-Projekt und diese Klasse sein muss, muss mit meinem .CORE Projekt mit meinem UI-Projekt ...
Können Sie mir helfen genannt werden?
Danke
ich das gemacht, aber nicht funktioniert: TimerCustom Klasse in 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;
}
}
}
}
Ansichtsmodell in 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;
}
}
Und meiner Ansicht nach in 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"/>
schön
verringert Mein Timer, aber es nicht auf meinem Bildschirm angezeigt wird
Arbeit nett! Wirklich danke Cheesebaron! –