EDIT: Aggiornato per la versione rilasciata del SDK 3.0.
Un modo per fare ciò è impostare <uses-sdk android:targetSdkVersion="11">
. Dovresti posizionarlo sopra la definizione <application>
. Questo dirà al sistema di usare il tema olografico se è disponibile, e il tema predefinito altrimenti.
Un altro modo per farlo è definire un tema, ad esempio MyTheme
, che eredita da un tema diverso a seconda del livello API/versione del sistema operativo. È possibile farlo utilizzando resource directory qualifiers.
vostra struttura di directory potrebbe essere la seguente:
res/
values/
styles.xml
values-v11/
styles.xml
Il contenuto di res/values/styles.xml
sarebbe qualcosa di simile:
<resources>
<style name="MyTheme" parent="@android:style/Theme.Light">
...
</style>
</resources>
E il contenuto di res/values-v11/styles.xml
sarebbe qualcosa di simile:
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
...
</style>
</resources>
Nota che nel futu Tuttavia, il tema di Holo potrebbe non avere sempre un senso a livello di API, quindi potrebbe essere necessario modificare questo approccio in seguito.
È inoltre possibile utilizzare altri qualificatori di directory come values-large-v11
o simili. Dipende solo da te.
fonte
2011-02-01 17:41:08
Impressionante, grazie Roman. Sono curioso di cosa intendi per "Nota che in futuro il tema di Holo potrebbe non avere sempre un senso a livello di API". Intendi dire che il tema di Holo potrebbe essere diverso o un tema completamente nuovo aggiunto nelle versioni future? Quindi lo sviluppatore potrebbe aver bisogno di ospitare più temi? Ciò rende difficile fare semplicemente qualcosa come usare il tema predefinito (che sia Theme o Theme.Holo) con NoTitleBar. Comunque, grazie per qualsiasi chiarimento; Non vedo l'ora di ICS –
Questo è stato un commento piuttosto miope :-) Striking out now. Holo ha sicuramente un senso per API 11+, indipendentemente dalle dimensioni fisiche. –
@RomanNurik - Non ottengo il completamento automatico per riconoscere Holo Light, anche quando l'obiettivo è 11. Solo dopo aver modificato in project.properties il target su Android-11, il progetto è stato in grado di compilare e il completamento automatico lavorato. –