I riquadri della tua app devono funzionare bene sui dispositivi Wear OS di tutte le dimensioni, sfruttando lo spazio aggiuntivo disponibile e avere un bell'aspetto anche sugli schermi più piccoli. Questa guida fornisce consigli per ottenere questa esperienza utente.
Per scoprire di più sui principi di progettazione per i layout adattivi, leggi la guida alla progettazione.
Offrire esperienze differenziate tramite i punti di interruzione
I layout della libreria ProtoLayout Material sono reattivi e si occupano del corretto posizionamento e della visibilità degli elementi. Tuttavia, in alcuni casi potresti voler variare il numero di elementi visibili per ottenere risultati ottimali. Ad esempio, potresti volere 3 pulsanti su un display più piccolo e 5 su un display più grande.
Per implementare questo tipo di esperienza differenziata, utilizza i breakpoint delle dimensioni dello schermo. Per mostrare un layout diverso quando le dimensioni dello schermo superano i 225 dp:
materialScope(this, requestParams.deviceConfiguration) { // ... val isLargeScreen = deviceConfiguration.screenWidthDp >= 225 primaryLayout( mainSlot = { buttonGroup { buttonGroupItem { button1 } buttonGroupItem { button2 } buttonGroupItem { button3 } if (isLargeScreen) { buttonGroupItem { button4 } buttonGroupItem { button5 } } } } ) }
La guida alla progettazione illustra ulteriori opportunità.
Testare i riquadri su schermi di dimensioni diverse utilizzando le anteprime
È importante testare i layout su schermi di dimensioni diverse. Utilizza le annotazioni
Anteprima riquadro, insieme alle classi TilePreviewHelper
e
TilePreviewData
:
@Preview(device = WearDevices.LARGE_ROUND) fun smallPreview(context: Context) = TilePreviewData { TilePreviewHelper.singleTimelineEntryTileBuilder( materialScope(context, it.deviceConfiguration) { myAdaptiveLayout() // varies the layout depending on the size of the screen } ) .build() }
In questo modo, puoi visualizzare l'anteprima dei layout dei riquadri direttamente in Android Studio.
Per un esempio completo, consulta l'esempio di riquadri timer su GitHub.