it-swarm-eu.dev

Heuristická pro přetažení položek přes vodorovné stránky

Snažím se umožnit uživatelům přetahovat položky přes kolekci horizontálních stránek, podobně jako doma Android doma nebo iPhone Springboard.) V systému Android se mi zdá neuvěřitelně těžké získat ikonu, kterou lze přejít ze stránky na stránku, zatímco ji přetahuji, ale funguje to docela intuitivně na iOS. (Android haterz a iOS fanboiz, prosím, zůstaňte se mnou zde.)

Můj aktuální kód mě nutí dostat se do bodu, kdy budu příliš snadné posouvat doleva/doprava (tj. Snažím se dát něco do levého nebo pravého sloupce a místo toho přepínám stránky), nebo uvíznu na obrazovce (je to nikdy se nepřepne).

Zatím se dívám pouze na x pozici při hovoru, kdy se mají stránky přepnout, ale nezdá se, že by to uspokojovalo dost. Realizoval někdo něco podobného s větším úspěchem? A co rychlost tažení v ose x, aby pomohla naznačit akci?

3
Pettiross

Jedním z nápadů může být poskytnutí vizuální zpětné vazby o tom, kde je textový kurzor. "Cíl" může ukázat svou plianci (vnímavost k upuštěnému objektu), stejně jako ikona může ukazovat jeho sílu (vnímavost k přetažení).

Zde je animovaná grafika pro ilustraci, kromě toho, že se při náhledu nebude animovat. :( Uživatel přetáhne ikonu kalkulačky doleva.

enter image description here

Vkládací paprsek (žlutý I-paprsek na obrázku) ukazuje plianci plochy - „místo, kam ikona zmizí, pokud ji nyní přetáhnete“. Protože I-paprsek předvídá cíl na základě směru přetažení, I-paprsek přichytí k levému okraji stránky před tím, než tam táhne prst uživatele. To znamená, že uživatel může ikonu přetáhnout trochu brzy, aby nedošlo k posunu na jinou stránk.

Aby to fungovalo dobře, na začátku přetažení by se měl vložený paprsek pravděpodobně ve výchozím nastavení objevit směrem k „uvnitř“ obrazovky (předpokládejme, že uživatel bude ve výchozím nastavení přetahovat směrem do středu obrazovky), dokud uživatel nezačne přetahovat. směrem ven, off stránka. Podobný typ interakce může přizpůsobit stránkování podél vertikální osy.

Toto je pouze jedno možné řešení. Jsem si jistý, že existují další. Bavte se s tím.

3
JeromeR