Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS weicher Seitenwechsel (https://www.delphipraxis.net/174815-ios-weicher-seitenwechsel.html)

Crocotronic 11. Mai 2013 21:11

iOS weicher Seitenwechsel
 
Guten Abend,
kaum ist ein Problem behoben, folgt das nächste. Es handelt sich und das Wechseln der Tabs. Im Moment wechsel ich eine Seite mit einer links-Wisch-Geste durch das Objekt TChangeTabAction. Nur ist das sehr hässlich, weil erst nach der Vollendung der Geste die Seite wechselt und nicht wie bei iOS üblich, schon beim Wischen (wie beim Seitenwechsel auf dem Homescreen). Ich glaube das Stichwort dazu ist "Smoothness Slide". Weiß jemand wie das geht?

Viele Grüße
Crocotronic

RWarnecke 11. Mai 2013 21:57

AW: iOS weicher Seitenwechsel
 
Ich habe gerade kein Delphi zur Hand, weiß aber dass es ein Beispiel dazu gibt. Schaue mal unter FireMonkey Mobile oder iOSCodeSnipptes. Hier solltest Du fündig werden.

Crocotronic 11. Mai 2013 22:30

AW: iOS weicher Seitenwechsel
 
Da hatte ich mich eigentlich schon umgeschaut und bin nicht fündig geworden. Dort findet man nur diesen einen Wechsel, den ich schon beschrieben habe...

RWarnecke 12. Mai 2013 11:57

AW: iOS weicher Seitenwechsel
 
Suche mal in den beiden Verzeichnissen nach Tabsliding. Das ist das Beispiel was ich meinte. In dem Beispiel wird das allerdings mit einem Button gemacht.

Crocotronic 12. Mai 2013 13:01

AW: iOS weicher Seitenwechsel
 
Ja, da gibt es schon Demos für. Aber das ist doch genau das, was ich in meinem ersten Post beschreibe:
Zitat:

Nur ist das sehr hässlich, weil erst nach der Vollendung der Geste die Seite wechselt und nicht wie bei iOS üblich, schon beim Wischen (wie beim Seitenwechsel auf dem Homescreen)
Ich will die Seiten so wechseln, wie auch auf dem Homescreen. Also dass die Objekte schon beim ziehen zur Seite weg gehen.

Darlo 12. Mai 2013 13:15

AW: iOS weicher Seitenwechsel
 
Vermute das wird nur mit einer HorzScrollbox gehen die du zur Laufzeit mit dem Content füllst.

Mavarik 13. Mai 2013 18:42

AW: iOS weicher Seitenwechsel
 
Du willst ja sicher, dass die Seite schon mit dem Finger mit "läuft", oder?

Ist das nicht igoPanSingleFingerHorizontal?

Mavarik

Crocotronic 13. Mai 2013 18:47

AW: iOS weicher Seitenwechsel
 
Zitat:

Zitat von Mavarik (Beitrag 1215219)
Du willst ja sicher, dass die Seite schon mit dem Finger mit "läuft", oder?

Genau das will ich!!!

Zitat:

Zitat von Mavarik (Beitrag 1215219)
Ist das nicht igoPanSingleFingerHorizontal?

Hört sich gut an, aber was ist das? ^^ Wo wäre es zu finden?

Darlo 13. Mai 2013 22:19

AW: iOS weicher Seitenwechsel
 
Zitat:

Zitat von Crocotronic (Beitrag 1215220)
Zitat:

Zitat von Mavarik (Beitrag 1215219)
Du willst ja sicher, dass die Seite schon mit dem Finger mit "läuft", oder?

Genau das will ich!!!

Zitat:

Zitat von Mavarik (Beitrag 1215219)
Ist das nicht igoPanSingleFingerHorizontal?

Hört sich gut an, aber was ist das? ^^ Wo wäre es zu finden?

Das ist eine interaktive Geste. Dafür gibt es den GestureManager. Wird aber wohl nicht in Verbindung mit der changetabaction funktionieren.

Der scrollbox fehlen auch entscheidende Eigenschaften/ Funktionen um das ohne Aufwand hinzukriegen...

Crocotronic 14. Mai 2013 15:58

AW: iOS weicher Seitenwechsel
 
So ein Mist... hoffentlich kommt das noch. Denn das bisherige "sliden" ist total unnatürlich beim iPhone.

Sir Rufo 18. Mai 2013 17:30

AW: iOS weicher Seitenwechsel
 
Crosspost http://stackoverflow.com/questions/1...oothness-slide

Der schöne Günther 23. Jul 2013 10:10

AW: iOS weicher Seitenwechsel
 
Darf ich hier einmal anstupsen?

Ich wundere mich auch gerade, das kann man ja so auf Dauer nicht umsetzen. Gibt es denn wenigstens keine kaufbare Komponente? Man will den Benutzer ja eigentlich nur die Tabs/Pages/Frames mit dem Finger selbst hin- und herschieben lassen, mehr nicht...

mkinzler 23. Jul 2013 10:18

AW: iOS weicher Seitenwechsel
 
Es gibt kaufbare und auch freiehttp://sourceforge.net/projects/dpfdelphiios/ Wrapper für native iOS-Controls

Der schöne Günther 23. Jul 2013 10:24

AW: iOS weicher Seitenwechsel
 
Vielen Dank, aber ... hm ja, ich hätte vielleicht nicht gerade ein Thema kapern sollen dass "iOS" im Namen hat :oops:

An native iOS-Controls hatte ich nicht gedacht, iOS kommt bei mir nicht zum Einsatz :o - Sondern ehre FireMonkey oder gar die VCL:
Ich würde gerne einen "weichen Wechsel" in der Form haben, dass der Benutzer bsp. einen Chart durch Wischen nach links/rechts gegen einen anderen tauschen kann.

Das Firemonkey-TTabControl bietet folgendes: "Warte bis der Benutzer fertig gewischt hat, dann spiele eine 'Verschiebe'-Animation ab. Fertig". Das ist schonmal besser als nichts.
Widerspricht aber leider den Bedienkonzepten, welche die Leute in den letzten Jahren auf ihren Touch-Geräten kennengelernt haben.

Falls das, trotz FireMonkey, ab vom Thema führt bitte ignorieren ;-)

Mavarik 23. Jul 2013 16:50

AW: iOS weicher Seitenwechsel
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1222338)
Vielen Dank, aber ... hm ja, ich hätte vielleicht nicht gerade ein Thema kapern sollen dass "iOS" im Namen hat :oops:

An native iOS-Controls hatte ich nicht gedacht, iOS kommt bei mir nicht zum Einsatz :o - Sondern ehre FireMonkey oder gar die VCL:
Ich würde gerne einen "weichen Wechsel" in der Form haben, dass der Benutzer bsp. einen Chart durch Wischen nach links/rechts gegen einen anderen tauschen kann.

Das Firemonkey-TTabControl bietet folgendes: "Warte bis der Benutzer fertig gewischt hat, dann spiele eine 'Verschiebe'-Animation ab. Fertig". Das ist schonmal besser als nichts.
Widerspricht aber leider den Bedienkonzepten, welche die Leute in den letzten Jahren auf ihren Touch-Geräten kennengelernt haben.

Falls das, trotz FireMonkey, ab vom Thema führt bitte ignorieren ;-)

Nein Das ist eigentlich genau das Thema... (Auch in iOS)

Die richtige Geste wäre ja "igPan" nach dem Motto:

Finger drauf, und mit dem Finger den Hintergrund mitbewegen (z.B. nach Links) von rechts kommt mir der Bewegung dann schon der neue Inhalt ins "Sichtfeld".
Zu wenig nach links geschoben, Bild "schwappt" zurück, genug geschoben Bild verschieb sich nach links, bis der neue Bildschirm angezeigt wird....

Richtig?

Ich hatte mich schon mal drangegeben, aber leider sind die hierfür nötigen Layout Infos im Protected Teil des TabControls... Daher habe ich es erstmal eingestellt.

Mavarik

Der schöne Günther 23. Jul 2013 17:16

AW: iOS weicher Seitenwechsel
 
Ein bisschen komplizierter ist es noch: Man kann es auch nur ein wenig anstupsen. Wenn man das allerdings feste genug macht (schnell genug wischt), dann wechselt man auch nach links oder rechts. Ich glaube, das nennt man einen "Flick".

Die iOS-"Fotos"-Anwendung ist dafür der beste Spielplatz :-)

Hat sich anscheinend noch keiner die Mühe gemacht, das Apple iOS-Verhalten in einer Delphi-Komponente nachzuimplementieren. Ich hätte da allerdings auch mal Lust drauf, vielleicht setze ich mich da auch mal dran...

Ich weiß nicht, was du genau vorhast, aber an protected/private Inhalte einer Klasse kommt man schon noch dran: Definiere dir einfach eine von TTabControl abgeleitete Klasse und caste dein TabControl dann in der gleichen Unit. So etwas geht auch nur mit Delphi :-D

Mavarik 24. Jul 2013 13:35

AW: iOS weicher Seitenwechsel
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1222403)
Ich weiß nicht, was du genau vorhast, aber an protected/private Inhalte einer Klasse kommt man schon noch dran: Definiere dir einfach eine von TTabControl abgeleitete Klasse und caste dein TabControl dann in der gleichen Unit. So etwas geht auch nur mit Delphi :-D

Ja das ist schon klar...

- War mir zu viel Aufwand - :stupid:

Mavarik

arnof 26. Jul 2013 13:15

AW: iOS weicher Seitenwechsel
 
Ich habe mir nicht den ganzen Thread durchgelesen, nur die Überschriften, aber folgender Blog machts sowas in der Art:

http://www.malcolmgroves.com/blog/?p=1352

Vielleicht hilft es, wenn nicht weiterlesen ...

Darlo 5. Aug 2013 11:58

AW: iOS weicher Seitenwechsel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe den "weichen Seitenwechsel" als Dummy gebaut. Werde das jetzt nach einer Codebereinigung in alle Projekten übernehmen. Umgesetzt habe ich den Seitenwechsel mit den TMS ICL und dem GestureManager und igPan. Die Animationen sind als "really true native Core Animations" (:)) umgesetzt. Besonders schön ist, dass andere, gleichzeitig ablaufende Animation nicht ruckeln und alles schön flüssig läuft.

Anbei ein kurzes Video dazu.

Gruß

Philip

Der schöne Günther 5. Aug 2013 14:30

AW: iOS weicher Seitenwechsel
 
Ich bin verwirrt.

Was ist "TMS ICL"?

Und warum überhaupt einen GestureManager mit
Delphi-Quellcode:
igPan
? Der dürfte doch erst feuern, wenn man den Finger wieder vom Glas nimmt - Was sich hierfür nicht eignet.

Das fertige Ergebnis ist jedenfalls so ziemlich das, wonach sich alle die Finger lecken :-D

Darlo 5. Aug 2013 15:14

AW: iOS weicher Seitenwechsel
 
Hi,

werde das die Woche mal nur mit Firemonkey umsetzen. Bin gespannt wie flüssig das läuft. igPan reagiert sofort, nicht erst beim FingerUp. Das was du meinst ist glaube ich nur "Left" oder "Right".

Der schöne Günther 5. Aug 2013 15:18

AW: iOS weicher Seitenwechsel
 
Hoppla, ja. Da bin ich mit den Standard-Gesten und interaktiven Gesten durcheinander gekommen. Ich dachte für letzere braucht man garkeinen GestureManager?

Darlo 5. Aug 2013 15:28

AW: iOS weicher Seitenwechsel
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1223550)
Hoppla, ja. Da bin ich mit den Standard-Gesten und interaktiven Gesten durcheinander gekommen. Ich dachte für letzere braucht man garkeinen GestureManager?

Ups, da hast Du recht, gleich wieder rausgeworfen... :duck:

Darlo 5. Aug 2013 20:57

AW: iOS weicher Seitenwechsel
 
Habe den Code jetzt bereinigt, baue das jetzt noch so um, dass es sowohl mit TLayouts als auch mit den nativen Tms UiViews läuft. Werden den Code oder eine dcu dann hier bereitstellen (XE4)

Der schöne Günther 5. Aug 2013 21:15

AW: iOS weicher Seitenwechsel
 
Also wenn ich es richtig verstanden habe - Es funktioniert mit nativen iOS-Controls als auch mit dem Feueraffen allgemein (also außerhalb von iOS)?

Ich bin wirklich gespannt :shock: :-D

Darlo 6. Aug 2013 11:27

AW: iOS weicher Seitenwechsel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ja wird sowohl mit den TMS icl, wie auch ohne diese laufen. Anbei mal ne Demo für TMS ICL.

Für das einbinden müssen nur die TMSFmxNativeUiViews zugewiesen werden und, aktuell noch unschön, das onGesture weitergegeben werden..

Delphi-Quellcode:
  mySlide := TvfSmothSlide.Create(frameView);

  mySlide.addSubView(frmContent.v1);
  mySlide.addSubView(frmContent.v2);
  mySlide.addSubView(frmContent.v3);
  mySlide.addSubView(frmContent.v4);
  mySlide.addSubView(frmContent.v5);
  mySlide.addSubView(frmContent.v6);
Delphi-Quellcode:
procedure TfrmMain.FormGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  mySlide.onGesture(sender,EventInfo,Handled);
end;

Gruß

Philip

Der schöne Günther 6. Aug 2013 11:33

AW: iOS weicher Seitenwechsel
 
Finde ich jetzt nicht so tragisch. Und warum das TForm.onGesture nicht gleich auf die onGesture-Methode von mySlide setzen?

Für iOS kann ich nichts entwickeln, aber andere werden sich sicher gleich darauf stürzen :cheers:

Darlo 6. Aug 2013 12:38

AW: iOS weicher Seitenwechsel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe es schnell für Windows portiert, das Ergebnis ist nicht annähernd so schön wie unter iOS.
Wenn ich Zeit habe baue ich daran weiter, jetzt muss ich aber erst mal wieder Geld verdienen ;-)

Der schöne Günther 6. Aug 2013 12:45

AW: iOS weicher Seitenwechsel
 
Wenn ich beim Ziehen die Form verlasse bleibt er stehen wo er ist aber ansonsten ist das doch wirklich schon perfekt :thumb:

iOS rendert glaube ich konstant mit 60fps und die Geräte haben einen sehr guten Touchscreen, wenn das "Erlebnis" dort besser ist, wirds wohl eher an der Hardware liegen.

Der schöne Günther 9. Okt 2013 17:09

AW: iOS weicher Seitenwechsel
 
Hallo-

In meiner Mittagspause spiele ich immer wieder deine Demo auf meinen Bildschirm und schiebe die Flächen voller Neid hin und her. Wirst du in nächster Zeit das nochmal anfassen?

Benutzt du FireMonkey-exklusive Routinen oder kann man sich auch Hoffnungen machen, so etwas auf der VCL zum Laufen zu bekommen? Hast du Interesse, das zu Geld zu machen oder Tipps zu geben, was man tun müsste um so etwas auch hinzubekommen?

Darlo 15. Okt 2013 09:44

AW: iOS weicher Seitenwechsel
 
Hi,

freut mich, dass es dir gefällt. Ich gehöre zu den verrückten die alle Projekte auf Firemonkey umstellen. Sollte aber auf die VCL portierbar sein.
Da ich glücklicherweise aktuell viel zu tun habe komme ich leider im Moment nicht dazu.

Wenn ich zwischendurch mal was anderes machen will, setze ich mich dran. Würde es in der DELPHI-Praxis als kleines Dankeschön als Source bereitstellen.

Der schöne Günther 15. Okt 2013 10:23

AW: iOS weicher Seitenwechsel
 
:love:


Immer wenn ich nachts im Bett liege und der Regen gegen das Fenster prasselt, kommen mir auch Gedanken, auf Firemonkey umzustellen (Touch und so). Wäre auch bestimmt mal interessant, einmal Erfahrungen zu sammeln, wie es jedem dabei ergangen ist. Nicht nur konkrete Themen zu Problemen oder Fragen, sondern eine Art "Was war gut, was war schlecht"...

Darlo 15. Okt 2013 12:06

AW: iOS weicher Seitenwechsel
 
Regen paßt wirklich um Thema Umstellung auf Firemonkey ;-) Aber nach dem Regen habe ich seit langem nur noch Sonnenschein ;-) (Mal abgesehen von der fehlenden Verschlüsselung bei FireDac mit SQLite...)

Der schöne Günther 14. Feb 2014 11:52

AW: iOS weicher Seitenwechsel
 
Hallo-

Hast du dein Projekt noch einmal angefasst?

Die Akzeptanz für die Umsetzung mit Delphi-Standardgesten sinkt immer weiter, alle Welt ist nur noch das "Läuft direkt unter dem Finger mit"-Verhalten gewohnt.

Darlo 14. Feb 2014 21:47

AW: iOS weicher Seitenwechsel
 
Wenn ich dran denke lade ich den Source morgen hier hoch. Sollte ich es vergessen einfach per PN dran erinnern ;-)

Darlo 15. Feb 2014 20:49

AW: iOS weicher Seitenwechsel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei das Projekt. Hatte aber nix mehr dran gemacht. Über den Code kann jeder gerne meckern, nur bitte dran denken, es funktioniert ;-)

Der schöne Günther 15. Feb 2014 23:26

AW: iOS weicher Seitenwechsel
 
Vielen herzlichen Dank! :thumb:

Ich hänge mich da in den nächsten Tagen einmal rein. :bounce1:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf