Estoy haciendo una aplicación para android pero yo estaba pensando acerca de los temas..

Si yo no declarar un tema de mi aplicación para Android que tema va a ser usado?
Donde puedo encontrar esta información?
¿Cuál es el criterio para el uso de uno y otro?

Yo estaba pensando, si quiero personalizar mi todas las aplicaciones, tengo que extender un tema y personalizado de todos los elementos que quiero personalizar.

Y qué si se supone que uno de ellos como predeterminado? Tiempo tengo para personalizar de nuevo? ¿Cómo puedo saber cuál es el defecto?

OriginalEl autor user1851366 | 2014-12-03

3 Comentarios

  1. 16

    El tema predeterminado varía en función del nivel de API (para ser coherente con el general de la interfaz de usuario).

    API < 10, el tema era un conjunto de estilos (como en el enlace de abajo), conocido como Theme, por encima de la API de 10, el tema por defecto se Theme_Holo y ahora, comenzando con la API de 21, el tema por defecto se ha convertido en Theme.Material.

    La mayoría de los estilos están disponibles a través de la android.support bibliotecas.

    PS: AFAIK la luz el tema siempre ha sido la de por defecto.

    Lo que si quiero que el uso de Theme_Holo para todos,incluyendo a <10?
    Entonces usted necesita para buscar en algo que se llama «HoloEverywhere», que es un poco inútil ahora que AppCompat está fuera…
    Para uso Holo o incluso Material de los Temas en versiones tan bajas como 7 debe usar android support library v7. Usted puede utilizar AppCompat (proporciona Material de Diseño de la Barra de Acción, etc.) y también los elementos de diseño como en el CardView o RecyclerView. Está bien cubierto en Android sitio web oficial.

    OriginalEl autor shkschneider

  2. 4

    Es la mejor manera de definir un tema predeterminado a sí mismo en lugar de depender de android para elegir el tema por defecto. Esto es debido a que las diferentes versiones de android puede completamente diferentes temas por defecto, y podría estropear sus diseños.

    Puede declarar un tema para su aplicación en AndroidManifest.xml

    <application android:theme="@style/MyTheme" .....>

    A continuación, en res/values carpeta, agregar o editar un archivo themes.xml y añadir algo como lo siguiente:

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        <style name="MyTheme" parent="@android:style/Theme.Holo">
             ... customize your theme here
        </style>
    </resources>

    Puede editar el parent de su tema para cualquier cosa que quieras…

    También puede utilizar @android:style/Theme.Holo directamente en AndroidManifest.xml si usted no desea cualquier de personalización.

    Uso Theme.AppCompat.Holo si la versión de la API por debajo de 11

    OriginalEl autor Populus

  3. 0

    El tema por defecto de la Aplicación es implementar en Resources.java!

        /**
     * Returns the most appropriate default theme for the specified target SDK version.
     * <ul>
     * <li>Below API 11: Gingerbread
     * <li>APIs 11 thru 14: Holo
     * <li>APIs 14 thru XX: Device default dark
     * <li>API XX and above: Device default light with dark action bar
     * </ul>
     *
     * @param curTheme The current theme, or 0 if not specified.
     * @param targetSdkVersion The target SDK version.
     * @return A theme resource identifier
     * @hide
     */
    public static int selectDefaultTheme(int curTheme, int targetSdkVersion) {
        return selectSystemTheme(curTheme, targetSdkVersion,
                com.android.internal.R.style.Theme,
                com.android.internal.R.style.Theme_Holo,
                com.android.internal.R.style.Theme_DeviceDefault,
                com.android.internal.R.style.Theme_DeviceDefault_Light_DarkActionBar);
    }
    /** @hide */
    public static int selectSystemTheme(int curTheme, int targetSdkVersion, int orig, int holo,
            int dark, int deviceDefault) {
        if (curTheme != 0) {
            return curTheme;
        }
        if (targetSdkVersion < Build.VERSION_CODES.HONEYCOMB) {
            return orig;
        }
        if (targetSdkVersion < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            return holo;
        }
        if (targetSdkVersion < Build.VERSION_CODES.CUR_DEVELOPMENT) {
            return dark;
        }
        return deviceDefault;
    }

    Varía dependiendo del nivel de la API, así que mejor para definir su propia AppTheme en AndroidManifest.xml para asegurar Tema en todos los nivel de API de dispositivos.

    Pls refieren respuesta anterior.

    OriginalEl autor Thomas Liu

Dejar respuesta

Please enter your comment!
Please enter your name here