Layout canonici

I layout canonici sono layout comprovati e versatili che offrono un'esperienza utente ottimale su una serie di fattori di forma.

Raffigurazione di dispositivi con schermo grande che mostrano i layout canonici.

I layout canonici supportano smartphone con schermi piccoli, nonché tablet, dispositivi pieghevoli e ChromeOS. Derivati dalle linee guida di Material Design, i layout sono estetici e funzionali.

Il framework Android include componenti specializzati che semplificano e rendono affidabile l'implementazione dei layout.

I layout canonici creano UI coinvolgenti e che migliorano la produttività, che costituiscono la base di app di alta qualità.

List-detail

Wireframe del layout di elenco dettagliato.

Il layout elenco dei dettagli consente agli utenti di esplorare elenchi di elementi che contengono informazioni descrittive, esplicative o altre informazioni supplementari, ovvero i dettagli dell'elemento.

Il layout suddivide la finestra dell'app in due riquadri affiancati: uno per l'elenco e uno per i dettagli. Gli utenti selezionano gli elementi dall'elenco per visualizzarne i dettagli. I link diretti nei dettagli rivelano contenuti aggiuntivi nel riquadro dei dettagli.

Le visualizzazioni a larghezza estesa (consulta Utilizzare le classi di dimensioni delle finestre) consentono di inserire contemporaneamente sia l'elenco che i dettagli. La selezione di un elemento dell'elenco aggiorna il riquadro dei dettagli per mostrare i contenuti correlati all'elemento selezionato.

I display di larghezza media e compatta mostrano l'elenco o i dettagli, a seconda dell'interazione dell'utente con l'app. Quando è visibile solo l'elenco, la selezione di un elemento dell'elenco mostra il dettaglio al posto dell'elenco. Quando è visibile solo il dettaglio, premendo il pulsante Indietro viene visualizzato di nuovo l'elenco.

Le modifiche alla configurazione, ad esempio le modifiche all'orientamento del dispositivo o alle dimensioni della finestra dell'app, possono modificare la classe delle dimensioni della finestra del display. Un layout elenco-dettagli risponde di conseguenza, preservando lo stato dell'app:

  • Se una visualizzazione con larghezza espansa che mostra sia i riquadri dell'elenco sia quelli dei dettagli si restringe a media o compatta, il riquadro dei dettagli rimane visibile e il riquadro dell'elenco viene nascosto
  • Se in una visualizzazione di larghezza media o compatta è visibile solo il riquadro dei dettagli e la classe della dimensione della finestra si espande, l'elenco e i dettagli vengono visualizzati insieme e l'elenco indica che l'elemento corrispondente ai contenuti nel riquadro dei dettagli è selezionato
  • Se in una visualizzazione di larghezza media o compatta è visibile solo il riquadro dell'elenco e viene ampliata per essere espansa, vengono visualizzati insieme l'elenco e un riquadro dei dettagli del segnaposto

La visualizzazione elenco è ideale per app di messaggistica, gestori dei contatti, browser di file o qualsiasi app in cui i contenuti possono essere organizzati come elenco di elementi che forniscono informazioni aggiuntive.

Figura 1. App di messaggistica che mostra un elenco di conversazioni e i dettagli di una conversazione selezionata.

Implementazione

Compose 的声明性范式支持用于作出如下判断的窗口大小类别逻辑:同时显示列表窗格和详情窗格(当宽度窗口大小类别为较大时),还是只显示列表窗格或详情窗格(当宽度窗口大小类别为中等或较小时)。

为确保单向数据流,请提升所有状态,包括当前窗口大小类别和所选列表项的详细信息(如果有),以便所有可组合项都可以访问相应数据并进行正确的呈现。

当小窗口中只显示详情窗格时,添加 BackHandler 即可移除详情窗格并转为只显示列表窗格。BackHandler 不是应用整体导航的一部分,因为处理程序取决于窗口大小类别和所选详情状态。

如需查看示例实现,请参阅使用 Compose 构建列表详情示例。

Feed

Wireframe del layout del feed.

Un layout del feed organizza gli elementi di contenuti equivalenti in una griglia configurabile per visualizzare in modo rapido e pratico una grande quantità di contenuti.

Dimensioni e posizione stabiliscono le relazioni tra gli elementi dei contenuti.

I gruppi di contenuti vengono creati impostando gli elementi sulle stesse dimensioni e posizionandoli insieme. L'attenzione viene attirata sugli elementi rendendoli più grandi di quelli vicini.

Le schede e gli elenchi sono componenti comuni dei layout dei feed.

Un layout del feed supporta visualizzazioni di quasi tutte le dimensioni perché la griglia può adattarsi da una singola colonna scorrevole a un feed scorrevole con più colonne di contenuti.

I feed sono particolarmente adatti per le app di notizie e di social media.

Figura 2. App di social media che mostra i post in schede di varie dimensioni.

Implementazione

Un feed è costituito da un numero elevato di elementi di contenuti in un contenitore con scorrimento verticale disposto in una griglia. Gli elenchi lazy visualizzano in modo efficiente un numero elevato di elementi in colonne o righe. Le griglie lazy visualizzano gli elementi in griglie e supportano la configurazione delle dimensioni e degli intervalli degli elementi.

Configura le colonne del layout della griglia in base all'area di visualizzazione disponibile per impostare la larghezza minima consentita per gli elementi della griglia. Quando definisci gli elementi della griglia, regola l'estensione delle colonne per enfatizzare alcuni elementi rispetto ad altri.

Per intestazioni di sezione, separatori o altri elementi progettati per occupare l'intera larghezza del feed, utilizza maxLineSpan per occupare l'intera larghezza del layout.

Sui display con larghezza compatta che non dispongono di spazio sufficiente per mostrare più di una colonna, LazyVerticalGrid si comporta come LazyColumn.

Per un esempio di implementazione, consulta l'esempio di feed con Compose.

Riquadro di supporto

Wireframe del layout del riquadro di supporto.

Il layout del riquadro di supporto organizza i contenuti dell'app in aree di visualizzazione principali e secondarie.

L'area di visualizzazione principale occupa la maggior parte della finestra dell'app (in genere circa due terzi) e contiene i contenuti principali. L'area di visualizzazione secondaria è un riquadro che occupa il resto della finestra dell'app e presenta contenuti che supportano i contenuti principali.

I layout dei riquadri di supporto funzionano bene sui display con larghezza espansa (vedi Utilizzare le classi di dimensione della finestra) in orientamento orizzontale. I display di larghezza media o compatta supportano la visualizzazione sia dell'area di visualizzazione principale che di quella secondaria se i contenuti sono adattabili a spazi di visualizzazione più stretti o se i contenuti aggiuntivi possono essere inizialmente nascosti in un riquadro in basso o laterale accessibile tramite un controllo come un menu o un pulsante.

Il layout del riquadro di supporto è diverso da quello dell'elenco dettagliato per quanto riguarda la relazione tra i contenuti principali e secondari. I contenuti del riquadro secondario sono significativi solo in relazione ai contenuti principali; ad esempio, una finestra dello strumento del riquadro di supporto è irrilevante da sola. I contenuti supplementari nel riquadro dei dettagli di un layout elenco dettagli, tuttavia, sono significativi anche senza i contenuti principali, ad esempio la descrizione di un prodotto di una scheda di prodotto.

I casi d'uso per il riquadro di supporto includono:

  • App per la produttività: un documento o un foglio di lavoro accompagnato da commenti del revisore in un riquadro di supporto
  • App multimediali: un video in streaming integrato da un elenco di video correlati in un riquadro di supporto o la rappresentazione di un album musicale integrato da una playlist
  • App di ricerca e di riferimento:un modulo di inserimento di query con i risultati in un riquadro di supporto
Figura 3. App Shopping con descrizioni dei prodotti in un riquadro di supporto.

Implementazione

Compose 支持窗口大小类别逻辑,借助该逻辑,您可以确定是同时显示主要内容和辅助内容,还是将辅助内容放置在其他位置。

提升所有状态,包括当前窗口大小类别以及与主要内容和辅助内容中的数据相关的信息。

对于较小宽度的显示屏,请将辅助内容放置在主要内容下方或底部动作条中。对于中等宽度和较大宽度的显示屏,可将辅助内容放置在主要内容旁边,并根据内容和可用空间适当调整辅助内容的大小。对于中等宽度,请在主要内容和辅助内容之间平均分配显示空间。对于较大宽度的显示屏,可为主要内容分配 70% 的空间,并为辅助内容分配 30% 的空间。

如需查看示例实现,请参阅使用 Compose 构建辅助窗格示例。

Risorse aggiuntive