2017-07-12 12 views
-1

Ich habe 5 Bilder, die am unteren Rand meines Bildschirms angezeigt werden soll. Nun, was ich will, ist die Bilder nacheinander und in einer Endlosschleife Typ anzeigen (d. H. Nach dem 5. Bild sollte das 1. Bild angezeigt werden). Dies sollte so lange dauern, wie sich der Benutzer auf dieser Seite befindet.Animieren Bilder in Xamarin Forms

Ich versuchte Karussell, aber nach dem 5. Bild findet eine automatische Rückspulaktion statt und das 1. Bild wird geladen (Horrible).

Wie erreiche ich dasselbe mit einfachen Animationen?

+0

'Device.StartTimer (TimeSpan.FromSeconds (3),() => { SlidePosition ++; \t \t \t \t if (SlidePosition == Sponsors.Count) SlidePosition = 0; \t \t \t \t CarouselZoos.Position = SlidePosition; return true; \t \t \t}); 'Dies spult das Bild zurück zum ersten Bild nach dem 5. Bild, was ein schlechter Benutzer ist. – MainakChoudhury

+0

Das wird Karussell zurückspulen und das ist nicht was du willst, oder? –

+1

Mögliches Duplikat von [Karussell View Auto Sliding in Xamarin Forms] (https://stackoverflow.com/questions/44984828/carousel-view-auto-sliding-in-xamarin-forms) –

Antwort

0

Haben Sie so etwas wie dies versucht:

string[] image = { "image1","another","third","oneMore","lastImage"}; 
int index = 0; 

Device.StartTimer(TimeSpan.FromSeconds(5),() => 
{ 
    if(index >= (image.Length - 1)) 
     index = 0; 
    else 
     index++; 
    imgView.FadeTo(0.1, 250, Easing.Linear); 
    imgView.Source = ImageSource.FromResource(image[index]); 
    imgView.FadeTo(1, 250, Easing.Linear); 

    return true; 
}); 

anstelle des CarouselView ein einfaches Bild verwenden. Möglicherweise müssen Sie die Aktionen über imgView mit einem "Device.BeginInvokeOnMainThread" umgeben. Hör zu.