Cambio de tema de acuerdo a la versión de android

Estoy preparando mi aplicación para que funcione sin problemas con nido de abeja. Tengo un pequeño estética pregunta relacionada con el tema de android.

Panal se recomienda que el siguiente tema se utiliza.

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

¿Cómo puedo hacer que mi aplicación usar otro tema cuando se utiliza en una versión anterior?

Gracias de antemano

InformationsquelleAutor biquillo | 2011-02-01

1 Kommentar

  1. 32

    EDITAR: Actualizado para la versión de lanzamiento del SDK 3.0.


    Una forma de hacer esto es establecer <uses-sdk android:targetSdkVersion="11">. También debe colocar esta por encima de su <application> definición. Esto indicará que el sistema utilice el Holográfica tema, si está disponible, y el tema por defecto de otra manera.

    Otra manera de hacer esto, es para definir un tema, decir MyTheme, que hereda de un tema diferente dependiendo del nivel de API /versión del sistema operativo. Usted puede hacer esto utilizando directorio de recursos de los calificadores.

    Su estructura de directorios podría tener este aspecto:

    res/
      values/
        styles.xml
      values-v11/
        styles.xml

    El contenido de res/values/styles.xml sería algo así como:

    <resources>
      <style name="MyTheme" parent="@android:style/Theme.Light">
        ...
      </style>
    </resources>

    Y el contenido de res/values-v11/styles.xml sería algo así como:

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

    tenga en cuenta que en el futuro, el Holo tema puede que no siempre tenga sentido por el nivel de la API, así que usted puede necesitar ajustar este enfoque más tarde. también puede utilizar otras directorio de calificativos tales como values-large-v11 o similares. Es totalmente de usted.

    • Impresionante, gracias Romana. Tengo curiosidad de lo que quieres decir por «Nota de que en el futuro, el Holo tema puede que no siempre tenga sentido por nivel de API». Qué significa decir que el Holo tema puede ser diferente o un nuevo tema añadido en futuras versiones? Por lo tanto el programador puede necesitar para dar cabida a más temas? Esto hace que sea difícil para simplemente hacer algo como usar el tema por defecto (ya sea Temático o Tema.Holo) con NoTitleBar. De todos modos, gracias por la aclaración; estoy esperando a ICS
    • Que era bastante corto de miras comentario 🙂 Llamativo es ahora. Holo definitivamente tiene sentido para la API 11+, independientemente de su tamaño físico.
    • Yo no se auto-completar para reconocer Holo Luz, incluso cuando el objetivo es de 11. Sólo después de cambiar de proyecto.propiedades de la meta para android-11, el proyecto ha sido capaz de compilar y el auto-completar trabajado.
    • El inconveniente ahora es que puedo erróneamente uso de alto nivel de la API y el desplome de la aplicación en los dispositivos más antiguos, porque mi minSdkVersion es 8.
    • el Android Lint herramienta puede ayudarle a mirar hacia fuera para esas cosas.
    • Sé y odia revisión cosas para varias versiones. La pelusa del apicheck es un instrumento de parches. De todos modos, después de probar el nuevo holo luz el tema, algunos de mis cuadros de diálogo se veía muy brillante. Ahora tengo que arreglar las cosas para el holo. Putear… Gracias por la ayuda.
    • En el SDK de nivel 14, el uso del teléfono el 11 tema o el defecto?
    • el dispositivo de uso de la API 11 tema; -v11 significa al menos API 11.
    • Genial, gracias por la Info 🙂 !

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea