Cambiar el color de ActionBar – Xamarin

Tengo una pequeña pregunta sobre el ActionBar en Android. Estoy usando Xamarin Studio para hacer una aplicación y me gustaría cambiar el color de la ActionBar. He mirado lejos y ancho para una manera de cambiar el color pero esto es la única cosa que podría encontrar.

 ColorDrawable colorDrawable = new ColorDrawable(Color.ParseColor("#ff0f62ae")); this.ActionBar.SetBackgroundDrawable(colorDrawable); 

Pensé que esto funcionaría, pero ahora tengo esta excepción y no puedo entender por qué esto no funciona para mí.

Esta es la excepción:

 Object reference not set to an instance of an object 

¿Puede alguien explicarme lo que estoy haciendo mal y tal vez me muestre cómo puedo arreglar esto.

Editar

Después de un par de comentarios he probado esto:

 <resources> <style name="AppTheme" parent="android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyActionBar</item> </style> <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">@color/</item> <item name="andriod:titleTextStyle">@style/MyActionBarTextAppearance</item> </style> <style name="MyActionBarTextAppearance" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">@color/default_white</item> </style> </resources> 

¿Cómo puedo agregar un color personalizado, y cómo asignar esto a mi barra de acción

Lo hice de esta manera. Pruebe esto y hágamelo saber si funciona por favor,

 <style name="AppTheme" parent="android:Theme.Holo.Light"> <item name="android:actionBarStyle">@style/ActionBarTheme</item> </style> <style name="ActionBarTheme" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse"> <item name="android:background">@color/color_action_bar</item> </style> " 

Y en colors.xml o añadir una variable de color en strings.xml, agregue el color deseado para la barra de acción

 <color name="color_action_bar">#3450A3</color> 

Y mencionar el tema en el archivo de manifiesto

 <application android:theme="@style/AppTheme" > 
 Try this: <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">#f00</item> <item name="android:titleTextStyle">@style/MyTextAppearance</item> </style> <style name="MyTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">#ffffff</item> </style> 

Esto funcionó para mí

  <color name="actionBarBackgroundColor">#2C3E50</color> <color name="actionBarTextColor">#FFFFFF</color> <style name="MyAppTheme"/> <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light"> <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> </style> <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.DeviceDefault.Light.ActionBar"> <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> <item name="android:background">@color/actionBarBackgroundColor</item> </style> <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title"> <item name="android:textColor">@color/actionBarTextColor</item> </style> 

Como explicación sobre la respuesta de @ SID, para diseñar tu barra de acción debes anular todo el tema de tu aplicación.

Si no existen, agregue los archivos Styles.XML y Colors.XML en la carpeta Resource>values y edítelos como se Colors.XML continuación:

Styles.XML:

 <?xml version="1.0" encoding="utf-8" ?> <resources> <style name="AppTheme" parent="android:Theme.Holo.Light"> <item name="android:actionBarStyle">@style/ActionBarTheme</item> </style> <style name="ActionBarTheme" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse"> <item name="android:background">@color/DarkBlue</item> </style> </resources> 

Colors.XML:

 <?xml version="1.0" encoding="utf-8" ?> <resources> <color name="DarkBlue">#007acc</color> </resources> 

Ahora navegue a Properties>AndroidManifest.xml y cambie la etiqueta <application> para hacer referencia a su tema personalizado:

  <application android:theme="@style/AppTheme" ... > </application> 

ACTUALIZACIÓN:

Si está dispuesto a utilizar AppCompat y ActionBarActivity entonces ya no necesitará el ActionBarTheme en Styles.XML así que aquí es como se verá Styles.XML :

 <?xml version="1.0" encoding="utf-8" ?> <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/LightBlue</item> <item name="colorPrimaryDark">@color/DarkBlue</item> <item name="colorAccent">@color/Pink</item> </style> </resources> 

Y los Colors.XML :

 <?xml version="1.0" encoding="utf-8" ?> <resources> <color name="DarkBlue">#0052cc</color> <color name="Pink">#ff1ac6</color> <color name="LightBlue">#1a75ff</color> </resources> 
  • Interfaz de JavaScript de Monodroid
  • Asegurar cadena en APK
  • Xamarin "Aapt.exe" salió con el código -1073741819
  • ¿Por qué no se construirá mi proyecto Xamarin.Android con Proguard habilitado: "java.exe" salió con el código 1
  • Predeterminación de dlls (.NET 4 framework) problema con mono para android
  • MvxListView crea enlace para diseño de plantilla de código
  • MonoDroid GetSpans último parámetro
  • Monodroid poniendo objetos parcelables en un paquete
  • App Crash instantáneamente sin excepción o registro (parece como xamarin / mono error)
  • ObjectAnimator Proxy para animar TopMargin no puede encontrar setting / getter
  • Mono para Android: qué marcos de pruebas funcionan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.