Как изменить цвет панели действий в приложении для Android?
Опубликовано: 16 Декабря, 2021
В этой статье вы узнаете, как изменить цвет панели действий в приложении для Android.
Изменить цвет можно двумя способами.
- Изменив файл 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"
);
}
}
- Через файл 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 и многому другому, см. Полный курс подготовки к собеседованию .