2012-08-13 64 views
16

Estoy usando el tema de aplicación Theme.Black en mi aplicación. En este tema, la barra de acciones es gris. ¿Cómo puedo cambiar el color de mi barra de acción? Este es mi intento:Cambiar el color de la barra de acciones en Android

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="mytheme" parent="@android:style/Theme.Black" > 

    </style> 
    <style name="Widget.MyApp.ActionBar" parent="@android:style/Widget.ActionBar"> 
     <item name="android:background">@android:color/black</item> 
    </style> 



</resources> 

Sin embargo, no funciona. ¿Algunas ideas?

Respuesta

0

Quizás esto también te pueda ayudar. Es a partir de la página web:

http://nathanael.hevenet.com/android-dev-changing-the-title-bar-background/

Lo primero es lo primero que necesita tener un tema personalizado declarado para su aplicación (o actividad, dependiendo de sus necesidades). Algo así como ...

<!-- Somewhere in AndroidManifest.xml --> 
<application ... android:theme="@style/ThemeSelector"> 

Entonces, declaran que su tema personalizado para los dos casos, las versiones de la API con y sin los Temas Holo. Para los viejos temas, personalizaremos el atributo windowTitleBackgroundStyle, y para los más nuevos, el ActionBarStyle.

<!-- res/values/styles.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeSelector" parent="android:Theme.Light"> 
     <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> 
    </style> 

    <style name="WindowTitleBackground">  
     <item name="android:background">@color/title_background</item> 
    </style> 

</resources> 

<!-- res/values-v11/styles.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeSelector" parent="android:Theme.Holo.Light"> 
     <item name="android:actionBarStyle">@style/ActionBar</item> 
    </style> 

    <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">  
     <item name="android:background">@color/title_background</item> 
    </style> 

</resources> 

Eso es todo!

+0

¿Qué pasa con la carpeta 'values-v14'? – Si8

+0

¿Qué quieres decir con qué? –

+0

Lo siento. Quise decir, ¿cómo cambio utilizando Java en lugar de XML? – Si8

18
ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 

que trabajó para mí here

+1

Gracias. Funcionó para mí getSupportActionBar(). setBackgroundDrawable (nuevo ColorDrawable (getResources(). getColor (R.color.material_blue_gray1))); – Ataru

+0

Según mi experiencia, configurar esto tiene un inconveniente, es decir, el color del menú de la barra de acciones no cambiará. – Elye

8
<style name="AppTheme" parent="AppBaseTheme"> 

    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">#C1000E</item> 
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.StatusBar.Title"> 
    <item name="android:textColor">#E5ED0E</item> 
</style> 

he solucionado usando esa.

+3

He viajado usando esto. – zaptech

7
ActionBar actionBar; 

actionBar = getActionBar(); 
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#93E9FA"));  
actionBar.setBackgroundDrawable(colorDrawable); 
+2

'nuevo ColorDrawable (0x93E9FA);' –

0

Si usa la barra de acciones predeterminada de Android, entonces. Si cambias de java, a continuación, muestra el color anterior.

enter image description here

Ejemplo

A continuación, el código de barra de acción dentro "app_bar_main". Acceda a app_bar_main.xml y simplemente agregue Background.

Ejemplo

<?xml version="1.0" encoding="utf-8"?> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="#33691e" <!--use your color --> 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 
<include layout="@layout/content_main1" /> 

0

si tiene en su diseño activity_main

<android.support.v7.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" /> 

usted tiene que poner

en su actividad este código

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    toolbar.setBackgroundColor(Color.CYAN); 
} 
0

Simplemente ir a res/valores/estilos.archivo XML y editar el archivo XML para cambiar el color del archivo XML Aquí está el código de ejemplo

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 

// código a continuación es para cambiar el color de la barra de acción

<item name="colorPrimary">"type your color code here. eg:#ffffff"</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> 

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

Espero que te ayude ...

Cuestiones relacionadas