2011-01-10 14 views
5

In base a this doc page, Android 2.3 supporta dimensioni dello schermo extra large (xlarge) e si può dichiarare che le app supportano questa dimensione aggiungendo android:xlargeScreens="true" nel tag <supports-screens> nel file Manifest.Come supportare schermi di grandi dimensioni in Android?

Tuttavia, poiché la mia app è mirata per una versione SDK minima di Android 2.1, la compilazione non riesce a lamentarsi dell'attributo sconosciuto.

Non voglio utilizzare il nuovo SDK perché non riceverò avvisi se accidentalmente utilizzo 2.3 funzionalità specifiche.

C'è una via d'uscita?

risposta

8

Dovrai utilizzare l'SDK 2.3 perché quell'attributo semplicemente non è noto negli SDK inferiori. Tuttavia, ciò che puoi fare è impostare il tuo SDK di destinazione su 2.1.

+3

Quindi, in pratica, cosa significa per HRJ: se non desidera utilizzare l'SDK 2.3, non può utilizzare queste nuove funzionalità. Deve usarlo come SDK di destinazione, ma in questo caso non riceverà alcun avviso se accidentalmente utilizza API di livello superiore su un dispositivo 2.1 o 2.2. Penso che ci sia solo una via d'uscita: testare l'app su un emulatore 2.1. – mreichelt

+1

@mreichelt Non dimenticare i documenti! Puoi filtrare per livello API in modo da sapere se il tuo "nuovo APi" ha bisogno di un po 'di magia per funzionare su versioni precedenti della piattaforma. – smith324

+1

@ smith324 Certo, ho dimenticato di dirlo. Ma spesso è complicato leggere la documentazione ogni volta che si entra in un nuovo metodo o classe nel codice Java. Credo che sarebbe molto meglio avere avvertimenti appropriati come vuole anche HRJ. Ecco perché ho inserito una nuova richiesta di funzionalità: http://code.google.com/p/android/issues/detail?id=13905 Puoi votare se ti piace! :-) – mreichelt

4

Sembra che quell'elemento sia supportato solo per Android 2.3. Come per la documentazione here:

Nota: Android 2.3 (API livello 9) ha introdotto un nuovo attributo per l'elemento : xlargeScreens

Credo che significa che non si può, in Infatti, usa questo attributo a meno che tu non stia compilando per Android 2.3.

0

Questo ha funzionato per me come un fascino.

<supports-screens 
    android:largestWidthLimitDp="320" 
    android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true"   
    android:xlargeScreens="true"/> 

Consultare here per ulteriore assistenza.

Problemi correlati