2012-01-18 9 views
8

Devo programmare la mia app Android con la migliore compatibilità a diverse dimensioni dello schermo (tablet e smartphone) e alle versioni 2.3, 3.2 e 4.0. Conosco il possibile denominare le cartelle del layout come res/layout-sw600dp /. per abbinare il layout esattamente a diverse dimensioni dello schermo.Programmare layout diversi per le diverse versioni in Android

Quindi, perché userò completamente diversi layout per tablet/smartphone, vorrei iniziare con una "schermata di carico", che i test che viene utilizzato su Android versione e se ci si utilizza un tablet, o smartphone-device , ad esempio nel layout del tablet, ci saranno pulsanti su alcuni schermi che non saranno presenti sullo smartphone.

Quindi dovrò separare tutto questo in pacchetti, in questo modo:

  • comune
  • 2,3
    • Tablet
    • Smartphone
  • 3,2
    • Tablet
    • Smartphone
  • 4,0
    • Tablet
    • Smartphone

avrei scelto questa separazione, perché è il modo migliore, a mio parere, essere preparati per imminenti * aggiornamenti *, se, diciamo che dovrebbe aggiungere un pulsante nella barra degli strumenti in Android 4.0.

Questa separazione è una cosa positiva secondo te o è un sovraccarico completo di ?

Ci sono altre nuove funzionalità in 4.0 di cui dovrei essere a conoscenza?

risposta

15

È inoltre possibile assegnare un nome alle cartelle delle risorse per indicare il numero di versione (come /res/layout-v11) o (/res/values-v13)

Per quanto riguarda le tue domande su separazione - Dipende davvero dalle tue particolari esigenze. Un approccio comune a questo problema è un meccanismo di fallback: fornisci alcuni layout specifici (ad esempio, un layout xlarge landscape v11) e alcuni generici a cui ricorrere.

Ovviamente, questa è una soluzione "idealistica"; e non sempre funziona in questo modo. In altre parole, è molto difficile implementare praticamente un'app compatibile con così tante versioni di Android fornendo risorse alternative. Anche se si utilizzano le librerie di compatibilità (che aiuta un po 'a ridurre il codice specifico della versione); dovrai ancora adattare il tuo codice in base alla versione in fase di esecuzione.

6

È possibile trovare la versione per Android guardando Build.VERSION.

La documentazione suggerisce di verificare Build.VERSION.SDK_INT rispetto ai valori in Build.VERSION_CODES.

E sulla base di questa versione è possibile impostare i layout in se le condizioni di altro

+0

Ok, grazie! – 10ff