it-swarm-eu.dev

Euristico per trascinare oggetti su pagine orizzontali

Sto cercando di consentire agli utenti di trascinare gli elementi in una raccolta di pagine orizzontali, simile a Android home o iPhone Springboard. Su Android, trovo incredibilmente difficile ottenere un'icona per passare da una pagina a mentre la sto trascinando, ma funziona in modo abbastanza intuitivo su iOS. (Android haterz e iOS fanboiz, per favore rimani in argomento con me qui.)

Il mio codice attuale mi sta portando a un punto in cui o faccio in modo che sia troppo facile scorrere a sinistra/a destra (cioè sto provando a mettere qualcosa nella colonna a sinistra o a destra e invece cambio pagina) o rimango bloccato sullo schermo (esso non cambia mai).

Finora, sto solo guardando la posizione x nel fare la chiamata quando cambiare pagina, ma questo non sembra essere abbastanza soddisfacente. Qualcuno ha implementato qualcosa di simile con più successo? Che dire dell'utilizzo della velocità dell'asse x del trascinamento per aiutare a suggerire l'azione?

3
Pettiross

Un'idea potrebbe essere quella di fornire un feedback visivo su dove si trova il punto di inserimento. Il "bersaglio" può mostrare la sua grazia (ricettività verso un oggetto caduto), così come l'icona può mostrare la sua relazione (ricettività al trascinamento).

Ecco un grafico animato da illustrare, tranne che non si animerà quando visualizzo in anteprima. :( L'utente sta trascinando l'icona della calcolatrice a sinistra.

enter image description here

La trave di inserimento (la trave a I gialla nell'illustrazione) mostra la plance del desktop - il "posto dove andrà l'icona se la lasci cadere ora". Poiché il raggio I anticipa la destinazione in base alla direzione del trascinamento, il raggio I si aggancerà al bordo sinistro della pagina prima che il dito di trascinamento dell'utente arrivi lì. Ciò significa che l'utente può rilasciare l'icona un po 'in anticipo, per evitare di scorrere verso un'altra pagina.

Per farlo funzionare bene, all'inizio di un trascinamento, la trave di inserimento dovrebbe probabilmente apparire verso "l'interno" dello schermo per impostazione predefinita (quindi supponi che l'utente trascini verso il centro dello schermo per impostazione predefinita) fino a quando l'utente inizia a trascinare verso l'esterno, off la pagina. Un tipo simile di interazione può accogliere l'impaginazione lungo l'asse verticale.

Questa è solo una possibile soluzione. Sono sicuro che ce ne sono altri. Divertiti con esso.

3
JeromeR