Как изменить цвет ActionBar в Android программно

Чтобы программно изменить цвет ActionBar в Android, вы можете использовать несколько методов. Вот несколько подходов, которые вы можете использовать:

Метод 1. Использование AppCompat

  1. Убедитесь, что в ваш проект добавлена ​​библиотека AppCompat.
  2. В методе onCreate()вашего действия установите цвет ActionBar с помощью метода setBackgroundColor()объекта getSupportActionBar().
    getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF0000"))); // Replace #FF0000 with your desired color

Метод 2: использование ActionBarCompat (устарело)

  1. Добавьте класс android.support.v7.app.ActionBarActivityв свой класс активности.
  2. В методе onCreate()вашего действия установите цвет ActionBar с помощью метода setBackgroundDrawable()объекта getSupportActionBar().
    getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF0000"))); // Replace #FF0000 with your desired color

Метод 3. Использование панели инструментов

  1. Замените панель действий по умолчанию на панель инструментов в XML-файле макета.
    <androidx.appcompat.widget.Toolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       app:popupTheme="@style/AppTheme.PopupOverlay" />
  2. В методе onCreate()вашей активности установите панель инструментов в качестве ActionBar и измените ее цвет с помощью метода setBackgroundColor().
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    toolbar.setBackgroundColor(Color.parseColor("#FF0000")); // Replace #FF0000 with your desired color

Метод 4. Использование компонентов материалов для Android

  1. Добавьте библиотеку Material Components для Android в свой проект.
  2. В методе onCreate()вашей активности установите панель инструментов в качестве ActionBar и измените ее цвет с помощью метода setBackgroundColor().
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    toolbar.setBackgroundColor(Color.parseColor("#FF0000")); // Replace #FF0000 with your desired color