Portare le app Android su Surface Duo
In questa sezione verranno illustrati alcuni modi per testare un'app su doppi schermi e quindi ottimizzarla per sfruttare pienamente gli schermi e le posizioni disponibili con Surface Duo.
Per impostazione predefinita, un'app Android verrà eseguita su un solo schermo su Surface Duo esattamente come su qualsiasi dispositivo Android. I doppi schermi e le posizioni flessibili tuttavia creano nuove opportunità per un'app. Consentono inoltre ai clienti di usare la tua app in nuovi modi che potresti non aver immaginato.
Sono tre i passaggi principali da seguire per poter portare un'app su Surface Duo:
- Testare l'app: usa l'emulatore Duo per assicurarti che l'app funzioni.
- Apportare modifiche incrementali: usa le librerie e le API native di Android per garantire un funzionamento migliore dell'app su dispositivi a doppio schermo anche quando viene eseguita side-by-side in modalità schermo singolo.
- Adottare nuove funzionalità: usa Surface Duo Preview SDK e i modelli di app per doppio schermo per sfruttare le nuove funzionalità offerte da Surface Duo.
Passaggio 1: Esegui il test dell'app
Usa l'emulatore Surface Duo per testare l'app. Per impostazione predefinita, verrà eseguita come esperienza su schermo singolo.
Nell'emulatore abilita la rotazione automatica nelle impostazioni. Continua a testare l'app spostandola dallo schermo di sinistra a quello di destra mentre ruoti il dispositivo nell'emulatore.
In caso di problemi, segui le indicazioni di Android per gli schermi ridimensionabili e assicurati di aver impostato android:resizeableActivity="true"
. Per altre informazioni, vedi Building apps for foldables (Creazione di app per dispositivi pieghevoli) su developer.android.com.
Passaggio 2: Apporta modifiche incrementali
Ecco alcune modifiche che possono aggiungere valore a un'app quando viene eseguita su un dispositivo a doppio schermo. Poiché si basano sulle API e sulle librerie native di Android, queste modifiche offrono vantaggi per l'app anche per altri fattori di forma dei dispositivi.
Valuta l'opportunità di aggiungere queste funzionalità all'app qualora non siano già presenti.
Gestire tutti gli orientamenti e le posizioni del dispositivo
Rimuovi un "blocco" di orientamento dell'esperienza utente specifico e supporta tutte le posizioni del dispositivo.
Aggiungere il supporto del trascinamento della selezione
Il trascinamento della selezione consente a un utente di condividere facilmente i dati tra le parti di un'app o tra diverse app su due schermi.
Per implementare il trascinamento della selezione in un'app, segui le indicazioni Drag and drop (Trascinamento della selezione) su develop.android.com. Usa l'esempio di trascinamento della selezione per vedere come funziona.
Aggiungere il supporto di più istanze
Aggiungi il supporto di più istanze in modo che un utente possa eseguire l'app con due istanze, una su ogni schermo.
Aggiungere il supporto della modalità Picture in Picture
Segui le indicazioni su develop.android.com per implementare il supporto della modalità Picture in Picture in un'app.
Avviare nuove attività nell'altra finestra
Su un dispositivo a doppio schermo è naturale avviare una nuova attività sul secondo schermo. A tale scopo, usa il flag di finalità FLAG_ACTIVITY_LAUNCH_ADJACENT
per fornire un suggerimento al sistema.
Per altre informazioni sul flag, vedi Launch New Activities in Multi-Window Mode (Avviare nuove attività in modalità a più finestre) su developer.android.com. Usa l'esempio di avvio sul secondo schermo per vedere come funziona.
Passaggio 3: Adotta nuove funzionalità
Qui la magia diventa realtà: hai a disposizione ora una maggiore quantità di spazio su schermo per presentare la tua app. Le API per doppio schermo sono incorporate nell'immagine di Surface Duo nell'emulatore e puoi quindi provarle con la tua app o con uno degli esempi.
Prima di tutto, nell'app determina se è in esecuzione su un dispositivo a doppio schermo. In questo modo puoi usare lo stesso codice tra dispositivi. Non è disponibile una versione separata dell'app per Surface Duo. Quando l'app è in esecuzione su un dispositivo a doppio schermo, puoi usare le API per doppio schermo disponibili nell'SDK per migliorare l'app.
Attivare la modalità estesa dell'app
Estendi l'app su entrambi gli schermi per verificare l'esperienza utente end-to-end.
- La giunzione copre contenuto critico dell'app?
- Sono presenti pulsanti al centro?
- Devi riposizionare il contenuto nel layout?
Usa l'API della maschera di visualizzazione per fare in modo che l'app funzioni con la giunzione.
Tenere conto dell'angolo della cerniera
Per ottenere informazioni sull'angolo della cerniera, puoi usare il sensore dell'angolo della cerniera. Valuta se l'app, ad esempio un gioco oppure un'utilità o una Power App, può usare l'angolo della cerniera per fornire valore all'utente.
Usare i modelli di app per doppio schermo
Sono stati identificati diversi modelli di app per doppio schermo che consentono di sfruttare la disponibilità di due schermi. Considera quale modello si adatta all'app e agli utenti. Sono disponibili esempi che illustrano ognuno di questi modelli. Provali nell'emulatore e usa il codice per vedere come è possibile implementarli.
Di seguito sono riportati alcuni suggerimenti e considerazioni sulla progettazione per questi modelli di app.
- Assicurati che la barra degli strumenti dell'app sia compatibile con la maschera.
- Esempio di area di disegno estesa
- Fornisci un elemento selezionato predefinito, altrimenti lo schermo di destra risulterà vuoto.
- Valuta inoltre cosa accade quando ruoti il dispositivo in modalità orizzontale su doppio schermo. Il flusso Master-dettagli viene mantenuto nello schermo con orientamento dall'alto vero il basso? È consigliabile usare entrambi gli schermi per la visualizzazione dei dettagli perché in questo modo è disponibile più spazio per la lettura del contenuto.
- Esempio di Elenco-dettagli
- Controlla come è configurato lo scorrimento rapido per la paginazione. Passi dalla pagina 1-2 alla pagina 2-3 come le schede scorrevoli oppure passi dalla pagina 1-2 alla pagina 3-4 come la lettura di un libro?
- Esempio di Due pagine
- Questo modello mostra gli stessi dati con due visualizzazioni diverse, quindi assicurati che quando modifichi gli elementi su uno schermo, l'altro rifletta la modifica e mantenga sincronizzato il contenuto.
- Esempio di Doppia visualizzazione
- Puoi modificare il layout del controllo a seconda dell'orientamento del dispositivo e avere una visualizzazione diversa quando i controlli si trovano sullo schermo di destra nella posizione in modalità verticale su doppio schermo rispetto a quando si trovano sullo schermo inferiore in modalità orizzontale su doppio schermo.
- Esempio di riquadro complementare
Mettere in evidenza il lavoro
Vorrai informare i clienti che l'app è stata migliorata per dispositivi a doppio schermo. Ecco alcune idee da prendere in considerazione.
- Aggiorna la pagina del tuo sito Web o del tuo negozio online con l'esperienza su doppio schermo.
- Fornisci un'esperienza di prima esecuzione nell'app e l'esperienza utente introduttiva per le funzionalità per dispositivi a doppio schermo.
- Valuta l'opportunità di una connessione ai servizi Microsoft, ad esempio Microsoft Graph, per informazioni dettagliate per gli utenti.