La mia applicazione mostra un'interfaccia utente a un pannello o un'interfaccia utente a due riquadri, a seconda della configurazione dello schermo. Sugli schermi più piccoli, dovrebbe essere un unico riquadro sia in verticale che in orizzontale. Sugli schermi di medie dimensioni (qualsiasi cosa con una "larghezza minore" di 600 dpi e oltre), l'orientamento orizzontale consente di adattarsi piuttosto bene al layout a due riquadri, ma con orientamento verticale dovrebbe utilizzare il layout a pannello singolo. Sugli schermi più grandi, dovrebbe usare il layout a due riquadri su entrambi gli orientamenti. Voglio anche supportare i qualificatori di stile 3.2+ (come sw600dp e sw720dp) così come il vecchio qualificatore "bucket size" ("xlarge").In che modo è possibile associare diverse configurazioni dello schermo a un piccolo insieme di layout senza dover duplicare parti del mio XML di layout?
Il modo più diretto per farlo è creare diversi file di layout XML diversi, uno per ogni configurazione:
- res/layout sw600dp-terra/main.xml
- res/layout sw600dp- porto/main.xml
- res/layout sw720dp-terra/main.xml
- res/layout sw720dp-port/main.xml
- res/layout xlarge-port/main.xml
- ri s/layout xlarge-terra/main.xml
- res/layout di porte/main.xml
- res/layout/main.xml
Di conseguenza, c'è un sacco di duplicazione del codice in questi 8 file XML che essenzialmente descrivono solo due layout distinti.
Come posso fare questo senza dover mantenere tutti questi file XML duplicati, che sono un mal di testa di manutenzione?
Questo non funziona per me - ho avvertimenti peli e un crash durante l'esecuzione. Ci sono esempi funzionanti di questo? –