¿Cómo cambiar el color de la barra de acción en una aplicación de Android?

En este artículo, aprenderá cómo cambiar el color de la barra de acción en una aplicación de Android .

Hay dos formas de cambiar de color.

  1. Cambiando el archivo styles.xml:
    • Simplemente vaya al archivo res/values/styles.xml
    • edite el archivo xml para cambiar el color de la barra de acción.
    • El código para estilos.xml se proporciona a continuación

    estilos.xml

    <resources>
      
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <!-- This code is for changing the color of the bar. -->
            <!-- Type your colour code which you want to set in colorPrimary item -->
            <item name="colorPrimary">#0F9D58</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
        </style>
        <style name="AppTheme.NoActionBar">
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>
        </style>
        <!-- Define other styles to fix theme -->
        <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
        <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
    </resources>

    actividad_principal.xml

    <?xml version="1.0" encoding="utf-8"?>
      
    <!--Relative Layout-->
    <RelativeLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/relativelayout">
      
        <!--Text View-->
       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/textview"
           android:textColor="#0F9D58"
           android:textSize="32dp"
           android:layout_centerInParent="true"/>
    </RelativeLayout>

    MainActivity.java

    package com.geeksforgeeks.changecolor;
    import android.widget.TextView;
    import android.support.v7.app.AppCompatActivity;
      
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // Define text View
            TextView t = findViewById(R.id.textview);
            t.setText("Geeks for Geeks");
        }
    }
  2. A través del archivo Java definiendo el objeto ActionBar:
    • Definir objeto para ActionBar y clase colorDrawable
    • establezca el color usando la función setBackgroundDrawable con el objeto colorDrawable como su parámetro.
    • Aquí está el código completo para MainActivity.java

    MainActivity.java

    package com.geeksforgeeks.changecolor;
      
    import android.support.v7.app.ActionBar;
    import android.graphics.Color;
    import android.graphics.drawable.ColorDrawable;
    import android.support.v7.app.AppCompatActivity;
      
    public class MainActivity extends AppCompatActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
      
            // Define ActionBar object
            ActionBar actionBar;
            actionBar = getSupportActionBar();
      
            // Define ColorDrawable object and parse color
            // using parseColor method
            // with color hash code as its parameter
            ColorDrawable colorDrawable
                = new ColorDrawable(Color.parseColor("#0F9D58"));
      
            // Set BackgroundDrawable
            actionBar.setBackgroundDrawable(colorDrawable);
        }
    }

    actividad_principal.xml

    <?xml version="1.0" encoding="utf-8"?>
      
    <!--Relative Layout-->
    <RelativeLayout 
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/relativelayout">
      
        <!--Text View-->
       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textColor="#0F9D58"
           android:textSize="30dp"
           android:text="Geeks for Geeks"
           android:layout_centerInParent="true"/>
    </RelativeLayout>

Producción:

  • Color predeterminado de la barra de acción:
  • En la actividad principal, el color de la barra de acción se cambia al código hash definido en el código anterior.

Publicación traducida automáticamente

Artículo escrito por Rishabh007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *