Vincoli e misurazioni intrinseche
Negozî le dimensioni tra elemento padre e figlio.
Vincoli e misurazioni intrinseche è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.
I constraints sono un contratto sulle dimensioni
Un genitore passa i constraints a ogni figlio: larghezza e altezza minime e massime consentite. Il figlio deve scegliere dimensioni che rientrino in questi limiti. 📏
Quattro numeri definiscono il riquadro
Ogni oggetto Constraints contiene minWidth, maxWidth, minHeight e maxHeight. Insieme descrivono l'intervallo di dimensioni tra cui il figlio può scegliere.
constraints.minWidth
constraints.maxWidth
constraints.maxHeightConstraints limitati e infiniti
Un valore massimo può essere un numero reale oppure Infinity. I genitori scorrevoli passano un'altezza infinita, così i figli possono essere alti quanto serve.
Allentare i constraints per consentire dimensioni minori
Utilizzi copy per allentare i constraints prima della misurazione. Impostare minWidth a zero consente a un figlio di essere più piccolo di quanto richiesto dal genitore.
val loose = constraints.copy(minWidth = 0, minHeight = 0)Irrigidire i constraints per imporre una dimensione
Imposti min uguale a max e imponga una dimensione esatta. Il figlio non ha altra scelta che avere esattamente quelle dimensioni.
val fixed = Constraints.fixed(width = 200, height = 100)I figli negoziano entro i limiti
Il layout è una negoziazione: il genitore propone i limiti, il figlio comunica le proprie dimensioni e il genitore lo posiziona. Entrambe le parti contribuiscono al risultato finale.
Perché esistono gli intrinsics
A volte un genitore ha bisogno delle dimensioni di un figlio prima del vero passaggio di misurazione. Le misurazioni intrinseche rispondono a questa domanda senza applicare ancora una dimensione.
Larghezza intrinseca minima e massima
Utilizzi minIntrinsicWidth per ottenere la larghezza minima che mostra il contenuto senza ritagliarlo, oppure maxIntrinsicWidth per ottenere la larghezza naturale senza andare a capo.
measurable.maxIntrinsicWidth(height)Un uso classico: altezze uguali
Il modifier integrato IntrinsicSize.Min utilizza gli intrinsics per fare in modo che i figli di una Row condividano l'altezza del più alto, come un divisore allineato ai componenti vicini.
Row(Modifier.height(IntrinsicSize.Min)) { }Gli intrinsics richiedono una query aggiuntiva
Le query degli intrinsics richiedono lavoro aggiuntivo, quindi le utilizzi solo quando servono. La maggior parte dei layout personalizzati funziona con i soli constraints. ⚡
I constraints scendono lungo l'albero
I constraints si propagano dalla radice verso il basso, attraverso ogni genitore. Imparare a irrigidirli e allentarli è il cuore del lavoro sui layout personalizzati.
Verifica rapida
Come si impone a un figlio una dimensione esatta e fissa?
Riepilogo: constraints e intrinsics
I constraints definiscono l'intervallo di dimensioni consentito a un figlio; li allenti o irrigidisci con copy. Gli intrinsics consentono di conoscere in anticipo una dimensione, ma hanno un costo aggiuntivo e si usano con moderazione. ✅
Domande Frequenti
La lezione «Vincoli e misurazioni intrinseche» è gratuita?
Sì — il testo completo di «Vincoli e misurazioni intrinseche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Cosa imparerò in «Vincoli e misurazioni intrinseche»?
Negozî le dimensioni tra elemento padre e figlio. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Jetpack Compose Academy?
Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Vincoli e misurazioni intrinseche»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?
Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il modello Measure e Place
- Scrivere una Composable Layout
- Vincoli e misurazioni intrinseche
- Una FlowRow che va a capo