2012-05-23 33 views
5

He desarrollado una aplicación para Android compatible con android:minSdkVersion="7"android:targetSdkVersion="15". Uso mi tema personalizado heredando el tema predeterminado de Android.Temas de Android Holo con compatibilidad con versiones anteriores

así que ahora quiero cambiar todo el tema de la aplicación al tema Holo. ¿Alguien me puede ayudar en esto.

+1

¿Quiere decir que quiere cambiar esto programáticamente en tiempo de ejecución? ¿Qué pasa con los dispositivos pre-honeycomb? ¿Quieres que tengan el Holo.Theme también? Entonces necesitas algo como Holoeverywhere. https://github.com/ChristopheVersieux/HoloEverywhere –

+0

El enlace a HoloEverywhere es ahora: https://github.com/Prototik/HoloEverywhere –

Respuesta

1

basta con modificar la etiqueta de aplicación en el AndroidManifest.xml que contiene el tema:

android:theme="@style/Theme.Holo" 

Por ejemplo así:

<application android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@style/Theme.Holo"> 

O puede hacerlo en función de cada actividad. Aquí está la documentación relevante: https://developer.android.com/guide/topics/ui/themes.html

+0

Intento este método pero da error: Error: No se encontraron recursos que coincidan con el nombre de pila (en 'tema' con valor '@ style/Theme.Holo'). – Sanath

+0

¿Ocurrió esto en un dispositivo pre-nido de abeja? De ser así, ¿ha agregado la biblioteca de Holoeverywhere? Cuando utilice Holoeverywhere debe usar "@ style/Theme.HoloEverywhereDark" –

+0

Esto no es un error de tiempo de ejecución. Este error da por eclipse.so no puedo construir el proyecto. Voy a probar el tema de HoloEverywhere. gracias por su ayuda. – Sanath

10

Puede implementar un "selector de estilo" utilizando diferentes estilos XML.

Basta con definir un tema llamado "StyleSelector" o algo por el estilo en /res/**values**/styles.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="ThemeSelector" parent="@android:style/Theme.Black"> 
    ... Your theme definitions 
    </style> 
</resources> 

continuación, crear un /res/**values-v11**/styles.xml:

<resources> 
    <style name="ThemeSelector" parent="@android:style/Theme.Holo"> 
    </style> 
</resources> 

Ahora solo se aplica a su tema con "@style/ThemeSelector" y deja que Android haga la magia. En las versiones anteriores de Android, se cargará la definición de tema, en las versiones más recientes con Holo-Support, su tema se derivará de Holo.

+0

Aunque la documentación de Android da la misma información, me sale un error en eclipse incluso después de especificar Theme.Black en valores. Busqué en todas partes, pero parece que no hay solución para esto. Además, no quiero usar ninguna biblioteca de terceros como HoloEveryWhere. – Manohar

+0

¿Por qué no @android: estilo/tema entonces? – Jeff

3

Intente utilizar HoloEverywhere como tema principal.

+1

Enlace roto. Ahora es: https://github.com/Prototik/HoloEverywhere –

+0

Gracias, actualice el enlace – galex

Cuestiones relacionadas