2013-03-14 16 views
5

Ho due cartelle di layout, layout-sw600dp per tablet 7" (1024X600) mdpi e un'altra con nome layout-xlarge per 12 "Tablet (1280X800) mdpi. Il problema è che quando eseguo il mio progetto in 7 "emulatore illustra il layout della cartella layout-xlarge anziché layout-sw600dp. Ho anche provato altre soluzioni cambiando i nomi delle cartelle che vengono dati in siti diversi ma non trovo la soluzione adatta al mio problema. Per favore forniscimi una soluzione funzionante per questo problema. Grazie in anticipo.Nome cartella layout per Tablet 7 "

risposta

9

La cosa da ricordare qui è che l'utilizzo dell'identificativo risorsa swXXXdp funziona solo su dispositivi che eseguono Android 3.2+ (che è quando è stato aggiunto). I dispositivi meno recenti non riconosceranno e quindi non utilizzeranno questi identificatori, quindi è necessario utilizzare i vecchi identificativi (small, normal, large, xlarge) se si intende supportare i tablet con Android < 3.2. A partire da ora, solo lo 0,3% dei tablet là fuori esegue Android 3.1 (API 12), quindi è una chiamata sicura per non supportarli completamente - http://developer.android.com/about/dashboards/index.html.

C'è un blog eccellente che spiega come utilizzare questi nuovi identificatori di risorse. http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

Per il vostro particolare problema, supponendo che si sta sostenendo solo 3.2+ Android per i layout tablet, modificare la cartella layout-xlarge-layout-sw720dp per sostenere 10 "+ compresse, e la vostra layout-sw600dp sosterrà 7" layout tablet.

+0

Steven Byle Sir Grazie mille ho cambiato il mio livello API Emulator a 13 e ha funzionato. C'è un piccolo problema quando eseguo il mio progetto in Nexus (7.27 ") perché usa anche layout-w600dp ma la sua risoluzione è tvdpi (800X1280) quindi alcuni elementi dell'interfaccia utente non vengono visualizzati correttamente. –

1

Le opzioni per le cartelle di layout sono vaste. Non solo puoi specificare cose come layout-land/ o layout-large, puoi anche specificare miscele di esse, come layout-large-land/ o layout-xhdpi-land/. Puoi vedere tutte le qualificazioni here at Android Developers.

Per il tuo problema, controlla se le dimensioni del tuo tablet emulatore sono della risoluzione dello schermo corretta. È possibile specificare una risoluzione dello schermo specifica durante la creazione di un AVD. Inoltre, quando si specifica layout-sw600dp/, viene verificata la larghezza della larghezza effettiva effettiva dell'attività corrente in esecuzione. Su tablet con 4.2, ad esempio, ~ 50dp della parte inferiore dello schermo viene utilizzato per la barra di sistema, e alcuni sono utilizzati per la barra delle azioni superiore se non a schermo intero. Ciò ridurrebbe il dp effettivo a meno di 600.

+0

grazie signore. Ha funzionato .. –

Problemi correlati