Barra de herramientas El tema ShareActionProvider siempre está oscuro

Estoy tratando de agregar acción compartida a mi barra de herramientas. Barra de herramientas se supone que es de color naranja (o transparente, como en este caso) con texto blanco e iconos, por lo que estoy utilizando esta vista como Toolbar :

 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" tools:ignore="UnusedAttribute" /> 

Además, esta es la apariencia de mi declaración de tema de aplicación:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

No importa cómo cambio el estilo esto es lo que obtengo:

Introduzca aquí la descripción de la imagen

¿Cómo puedo convencer ShareActionProvider para obtener el tema Light ?

2 Solutions collect form web for “Barra de herramientas El tema ShareActionProvider siempre está oscuro”

Mi solución se basa en la biblioteca de soporte v7, toolBar, ActionBarActivity, Android Studio

1- eliminar la app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

2- Asegúrese de que su tema base es Theme.AppCompat.Light.NoActionBar

3- ir al código original de ShareActionProvider escribiendo "ShareActionProvider" en cualquier parte de su código y luego importar el v7 y luego apuntar el ratón sobre él (ctrl + clic izquierdo)

4- copiar el código en él y pegarlo en un nuevo archivo java en el directorio del proyecto

5- vaya a su propio ShareActionProvider y elimine esta importación si la tiene import android.support.v7.appcompat.R

6- Proporcione su propio icono de compartir porque el predeterminado es negro Drawable myDrawable = mContext.getResources().getDrawable(R.drawable.ic_share); activityChooserView.setExpandActivityOverflowButtonDrawable(myDrawable); Drawable myDrawable = mContext.getResources().getDrawable(R.drawable.ic_share); activityChooserView.setExpandActivityOverflowButtonDrawable(myDrawable);

7- ir a su actividad y eliminar la importación que realizó en el paso 3 (para utilizar su propio archivo)

8- ir a su onCreateOptionsMenu debe ser como este:

 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); MenuItem item = menu.findItem(R.id.menu_item_share); mShareActionProvider = new ShareActionProvider(MainActivity.this); MenuItemCompat.setActionProvider(item , mShareActionProvider); Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello World"); shareIntent.setType("text/plain"); mShareActionProvider.setShareIntent(shareIntent); return true; } 

9- el último paso es no olvide editar su menu.xml

 app:actionProviderClass= "com.yourPackageName.ShareActionProvider" /> 

Esto es lo que hice y funcionó. Quería un fondo blanco en ShareActionProvider con el texto que es negro

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:theme="@style/MainTheme" app:layout_collapseMode="pin"/> 

Mi tema

  <style name="MainTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/md_white_1000</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:textColorPrimary">#ffffff</item> <item name="android:textColorSecondary">#ffffff</item> <item name="android:textColor">@color/md_black_1000</item> <item name="listPopupWindowStyle">@style/PopupListStyle</item> </style> <style name="PopupListStyle" parent="@style/Widget.AppCompat.Light.ListPopupWindow"> <item name="android:popupBackground">#ffffff</item> </style> 
  • Icono personalizado de Android ShareActionProvider?
  • ¿Cómo desactivas el historial de acciones cuando usas ShareActionProvider?
  • ActionBarSherlock & ShareActionProvider causar InflateException
  • Obtener imagen uri de picasso?
  • Comparte el menú usando android.support.v7 no muestra los iconos de las aplicaciones
  • ¿Cómo ocultar el icono de acción compartida (que utiliza más) cerca del proveedor de acciones compartidas?
  • ActionBarSherlock problema ShareActionProvider
  • No se puede emitir Proveedor de acciones para compartir el proveedor de acciones
  • Excepción de puntero nulo al usar el proveedor de acciones de la biblioteca de soporte
  • Android ShareActionProvider funciona en el modo de depuración pero no en el dispositivo real
  • Cómo eliminar YourSelf de la lista ShareActionProvider
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.