Cómo establecer la barra de estado de color de forma dinámica para una aplicación, estoy usando vista paginador mientras que deslizar (horizontal) de la barra de estado de color y la barra de título y el botón de cambiar el color . según mi código título y el botón cambia de color perfectamente ,pero el problema es la barra de estado de color tomando siguiente color de la matriz de la lista. cómo solucionar ese problema alguien me puede ayudar. aquí está mi código

 private int[] colors = new int[]{0xffffd200, 0xff37beb7, 0xff00ccff, 0xff8585c1, 0xfff2a03c, 0xff2a80b9, 0xfff15972,
        0xffe9776c, 0xff9dcc96,0xff76c069};

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = ((Activity) context).getWindow();
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

        int coloring = position % colors.length;
        int new_color = colors[coloring];
        window.setStatusBarColor(new_color);
        title_bar.setBackgroundColor(new_color);
        set_share.setBackgroundColor(new_color);

    }
    else{

        int color = position % colors.length;
        itemView.setBackgroundColor(colors[color]);
        title_bar.setBackgroundColor(colors[color]);
        set_share.setBackgroundColor(colors[color]);
    }

OriginalEl autor developer | 2015-12-02

3 Comentarios

  1. 13

    Para cambiar la barra de estado de color utilice el setStatusBarColor(int color). Según el javadoc, también necesitamos establecer algunas banderas en la ventana.

    De trabajo código:

    Window window = activity.getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.setStatusBarColor(activity.getResources().getColor(R.color.example_color));

    Esto es tomado de referencia siguientes:
    Cómo cambiar la barra de estado de color para que coincida con la aplicación en Lollipop? [Android]

    configuración de la barra de estado de color no es un problema para mí, la barra de título y el color de los botones es diferente de la barra de estado de color, pero estoy pasando un mismo color, de cómo resolver ese problema. quiero que todo el color debe ser el mismo
    Para botón de useButton11.setBackgroundColor(getResources().getColor(R. de color.example_color); y para la barra de título, se puede utilizar dos métodos: 1. requestWindowFeature(de la Ventana.FEATURE_CUSTOM_TITLE); setContentView(R. layout.principal); getWindow().setFeatureInt(de la Ventana.FEATURE_CUSTOM_TITLE, R. layout.mytitle); 2 es que si usted está utilizando «Barra de herramientas» puede direclt conjunto mToolbar.setBackground()
    amigo, no sé si has entendido mi problema , por encima de mencionar que mi código está trabajando bien, pero el problema es ejemplo {rojo,verde,azul,amarillo}, mientras que deslizar el dedo hacia la página barra de título y el botón está tomando color rojo , pero la barra de estado está tomando (colores) de color verde que no sé cuál es el problema
    Bueno, por Lo que al utilizar SwipeViews o ViewPager, Inicia su fragmento anterior y su próximo fragement , así que cuando usted va de una vista de buscapersonas para otros, la barra de estado se da el Último Inicializado Fragmento de valor a la Barra de Estado, Sólo tiene que utilizar una variable para establecer el Color sólo cuando el usuario está allí.
    Así que se va a resolver su problema, acaba de tomar actual ViewPager y sólo Cambian de color de acuerdo con que sólo.

    OriginalEl autor androgo

  2. 5

    venir a la barra de Estado de color, sólo se puede añadir a dispositivos con nivel de API de más de 21. Para aquellos dispositivos que cumplen esta condición, usted puede cambiar la barra de Estado de color de forma dinámica, como se muestra a continuación.

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            window.setStatusBarColor(getResources().getColor(R.color.Statusbar));
        }
    esto aumenta mi barra de herramientas de la altura de alguna manera..

    OriginalEl autor aravindkanna

  3. 2

    Cuando quise configurar la barra de estado de color, he utilizado https://github.com/jgilfelt/SystemBarTint

    La he usado como que :

    public static void colorStatusBar(Window window, Activity activity) {
        Log.v(Constants.LOG_TAG, "Start defining color bar status");
        if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {      
            window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            SystemBarTintManager tintManager = new SystemBarTintManager(activity);
            tintManager.setStatusBarTintEnabled(true);
    
            tintManager.setTintColor(activity.getResources().getColor(R.color.colorPrimaryDark));
        }
    }

    Pero ten en cuenta que la configuración de la barra de estado de color sólo es posible si la aplicación se ejecuta en un teléfono con API >= 19

    Este código sólo funciona para KitKat debido a que if declaración.

    OriginalEl autor ImpSy

Dejar respuesta

Please enter your comment!
Please enter your name here