Domanda

In aggiunta alla cartella generale res/layout Ho un res/layout-v3 cartella per la compatibilità con Android 1.5, che ha problemi con alcuni layout RelativeLayout.

Funziona perfettamente con tutti i telefoni e le versioni emulatore testato in modo lontano. Tranne di 2,1 (emulatore e Nexus One). Essi scelgono di visualizzare il layout di Android 1.5 (res/layout-v3) al posto del res/ layout di default.

Qualcuno può confermare che altro? Si tratta di un bug di sistema operativo Android? Se sì, dove è il posto migliore per inviare la segnalazione di bug?


UPDATE:

Dopo aver letto su https://developer.android.com/guide /practices/screens_support.html#qualifiers nuovo (grazie Marco per il suggerimento), in particolare questa parte

  

Le risorse che sono per l'uso solo su un   specifico livello di API o superiore. Per   ad esempio, se l'applicazione è   progettato per funzionare sia su Android 1.5   (API Livello 3) e Android 1.6 (API   Livello 4 e superiori), è possibile utilizzare il   qualificatore v4 per contrassegnare tutte le risorse che devono essere esclusi quando il   applicazione è in esecuzione su Android 1.5   (API Livello 3).

Ho cambiato il mio ordine del layout di avere

  • res / layout v3 (per Android 1.5 solo -> questo è stato un presupposto sbagliato che ho fatto)
  • res / disposizione (per tutto il resto)

alla mia nuova configurazione di avere:

  • res / layout v4 (per Android 1.6 e superiori)
  • res / disposizione (per niente altro -> in questo caso questo sarebbe Android 1.5 solo)

Se ho capito quanto sopra giusta documentazione e se le mie ipotesi tra parentesi sono corrette questa volta dovrebbe funzionare ora. Tuttavia, il risultato è il seguente:

  • Android 1.5 sta usando res / Layout -> OK
  • Android 1.6 è utilizzare res / layout v4 -> OK
  • Android 2.0 sta usando res / layout -> non OK
  • Android 2.1 è utilizzare res / layout v4 -> OK

Quindi, perché è Android 2.0 (sia su emulatore e Motorola Milestone), non raccogliendo la cartella di risorsa di layout giusto?

ho provato poi di nuovo con la 2.0.1 e sembra di lavorare lì. In modo che sembra essere un bug nella versione 2.0 che ha ottenuto fissato in 2.0.1

Ma ora la cosa più strana: al fine di rendere in qualche modo funzionare su 2.0 Ho copiato la cartella res / layout v4 a res / layout v5 per forzare Android 2.0 utilizzando questa risorsa layout. Non ha funzionato. Ma poi ho provato a copiare a res / layout v6 (che si suppone sia 2.0.1 Android) e voilà tutto l'improvviso che funziona con 2.0. Molto strano! Ma spero che questa soluzione contribuirà a poche altre persone là fuori.

È stato utile?

Soluzione

Ho provato diversi dispositivi ed emulatori (anche se non molto bene), e sembra che la cartella risorsa selezionata è quella con il versione successiva <= versione del dispositivo .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top