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.
- 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
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"
);
}
}
- 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
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