Как изменить цвет панели действий в приложении для Android?

Опубликовано: 16 Декабря, 2021

В этой статье вы узнаете, как изменить цвет панели действий в приложении для Android.

Изменить цвет можно двумя способами.

  1. Изменив файл styles.xml:
    • Просто зайдите в файл res / values / styles.xml
    • отредактируйте XML-файл, чтобы изменить цвет панели действий.
    • Код для styles.xml приведен ниже.

    styles.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 >

    activity_main.xml

    <? xml version = "1.0" encoding = "utf-8" ?>
    <!--Relative Layout-->
    < RelativeLayout
    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. Через файл Java путем определения объекта ActionBar:
    • Определите объект для ActionBar и класса colorDrawable
    • установить цвет с помощью функции setBackgroundDrawable с объектом colorDrawable в качестве параметра.
    • Вот полный код для 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);
    }
    }

    activity_main.xml

    <? xml version = "1.0" encoding = "utf-8" ?>
    <!--Relative Layout-->
    < RelativeLayout
    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 >

Выход:

  • Цвет панели действий по умолчанию:
  • В основной деятельности цвет панели действий изменяется на хэш-код, определенный в приведенном выше коде.

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .