Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambiar la barra de acción en color

No puedo averiguar cómo cambiar los elementos de la barra de acción "onPressed" en Android. No estoy hablando del color de fondo de la barra de acción pero sobre el estado azul sobre. ¿Cómo puedo cambiar el color de esto o al menos deshacerme de él? Por ejemplo, el icono de la aplicación con el homeAsUpIndicator.

Intenté cambiar el estilo de la barra de la acción y también el estilo del artículo del menú pero nada trabajó.

  • Servicio: onTaskRemoved no llamado si se inició con bindService
  • Cambiar el teclado predeterminado de android utilizando ADB o código java
  • ¿Debugging usando una máquina virtual como VMWare / VirtualBox?
  • Múltiples páginas al mismo tiempo en un ViewPager
  • Android: inicio de sesión de Google con pantalla de inicio de sesión en lugar de inicio de sesión automático
  • ¿Cómo puedo convertir un código de clave en un carácter o una cadena?
  • Gracias

    EDIT Aquí está mi implementación hasta ahora:

    Mi estilo xml:

    <style name="Theme.AppTheme" parent="@android:style/Theme.Holo"> <item name="android:actionBarStyle">@style/MyActionBar</item> <item name="android:selectableItemBackground">@android:color/transparent</item> <item name="android:windowEnterAnimation">@anim/fadein</item> <item name="android:windowExitAnimation">@anim/fadeout</item> <item name="android:actionBarItemBackground">@android:color/transparent</item> </style> <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">@drawable/actionbarheader</item> <item name="android:backgroundStacked">@drawable/actionbarheader</item> <item name="android:backgroundSplit">@drawable/actionbarheader</item> <item name="android:titleTextStyle">@style/ActionBarTitle</item> <item name="android:actionBarItemBackground">@android:color/transparent</item> <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item> <item name="android:homeAsUpIndicator">@drawable/actionbarlogo</item> <item name="android:icon">@drawable/app_icon</item>> </style> <style name="ActionBarTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textSize">20sp</item> </style> <style name="MyActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton"> <item name="android:background">@android:color/transparent</item> </style> 

    Entonces tengo un dibujable para el actionbarogo:

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/actionbarlogo_on" android:state_pressed="true"/> <item android:drawable="@drawable/actionbarlogo_on" android:state_focused="true"/> <item android:drawable="@drawable/actionbarlogo_off"/> </selector> 

    Mi menú xml para los elementos de la barra de acción:

     <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/ContactsMode" android:icon="@drawable/actionbarcontacts" android:title="@string/contacts" android:orderInCategory="100" android:showAsAction="always" android:background="@android:color/transparent" /> </menu> 

    Y finalmente, el artículo es dibujable:

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/actionbarcontacts_on" android:state_pressed="true"/> <item android:drawable="@drawable/actionbarcontacts_on" android:state_focused="true"/> <item android:drawable="@drawable/actionbarcontacts_off"/> </selector> 

    Aquí es cómo creo los elementos de menú para el ActionBar:

     public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); actionBar.setIcon(R.drawable.actionbarlogo); return true; } public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item= menu.findItem(R.id.ContactsMode); if(ContactsButton) item.setVisible(true); else item.setVisible(false); return true; } 

  • ¿Cómo acceder a widgets en una DialogPreference personalizada con un diseño inflado?
  • Android RatingBar mostrar recubrimiento negro en algunos dispositivos
  • ¿Dónde está la carpeta temp en el dispositivo android?
  • Convertir aplicaciones iPhone / iPad en Android
  • Tienda de cookies persistente con okhttp 2 en Android
  • ¿Cómo puedo mostrar la imagen en el centro de la pantalla?
  • 2 Solutions collect form web for “Cambiar la barra de acción en color”

    Para establecer el fondo para el icono de la aplicación junto con el homeAsUpIndicator (hay un fondo común para estos dos iconos) tienes que configurar android:actionBarItemBackground elemento en el tema. El tema tiene que contener algo como esto (supongo que se utiliza ActionBarSherlock ):

     <style name="MyTheme" parent="@style/Theme.Sherlock"> <!-- for ActionBarSherlock --> <item name="actionBarItemBackground">@drawable/my_background</item> <!-- for native ActionBar --> <item name="android:actionBarItemBackground">@drawable/my_background</item> </style> 

    Donde el drawable/my_background.xml sería un StaleListDrawable , que contiene algo como esto:

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/my_background_pressed" /> <item android:drawable="@drawable/my_background_normal" /> </selector> 

    Para desactivar completamente el fondo, puede establecer un fondo transparente, o el valor @null en el tema también podría funcionar.

    El tema del tema android:actionBarItemBackground establece el fondo para el icono de la aplicación y homeAsUpIndicator. Pero también establece el fondo predeterminado para los elementos del menú, el icono de desbordamiento y el fondo para el título . Estos fondos pueden ser anulados.

    Elementos de menú

    Para cambiar el fondo del elemento de menú, establezca un (android:)actionButtonStyle apropiado (android:)actionButtonStyle en el tema como este:

     <style name="MyTheme" parent="@style/Theme.Sherlock"> <item name="actionButtonStyle">@style/MyActionButtonStyle</item> <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item> </style> 

    Y MyActionButtonStyle contendrá algo como esto:

     <style name="MyActionButtonStyle" parent="@style/Widget.Sherlock.ActionButton"> <item name="android:background">@drawable/my_background</item> </style> 

    Icono de desbordamiento

    Y, por último, para cambiar el fondo del icono de desbordamiento establecer un android:actionOverflowButtonStyle adecuado android:actionOverflowButtonStyle en el tema como este:

     <style name="MyTheme" parent="@style/Theme.Sherlock"> <item name="actionOverflowButtonStyle">@style/MyOverflowButtonStyle</item> <item name="android:actionOverflowButtonStyle">@style/MyOverflowButtonStyle</item> </style> 

    Y MyOverflowButtonStyle contendrá algo como esto:

     <style name="MyOverflowButtonStyle" parent="@style/Widget.Sherlock.ActionButton.Overflow"> <item name="android:background">@drawable/my_background</item> </style> 

    Arreglado. Hubo una actividad de padres que cambiaba el tema en el método onCreate …

    No sabía que usted podría fijar el tema programmatically dentro de la actividad con:

     setTheme(R.style.MyTheme); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.