Android 2.1 bug: usi res / layout v3 invece di res / layout di
-
22-09-2019 - |
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.
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 .