Yo uso ShareActionProvider en PopupMenu, pero mostrar dos PopupMenu?
Yo uso un ShareActionProvider en un PopupMenu, pero cuando hago clic en el elemento de menú compartido, muestra dos PopupMenus en la pantalla, uno cubierto por el otro. Y uno muestra el icono de la aplicación y el nombre, el otro sólo muestra el nombre de la aplicación.
Funciona bien excepto este problema …
¿Cómo puedo arreglarlo?
- Cómo diseñar el Share Action Provider en Android
- ¿Cómo ocultar el icono de acción compartida (que utiliza más) cerca del proveedor de acciones compartidas?
- Comparte el menú usando android.support.v7 no muestra los iconos de las aplicaciones
- Compartir imagen y texto a través de whatsapp
- Icono personalizado de Android ShareActionProvider?
PS: perdóname por mi mala expresión
Mi código es:
PopupMenu popup = new PopupMenu(this, button); popup.getMenuInflater().inflate(R.menu.scrawl_popup_menu, popup.getMenu()); MenuItem overflowItem = popup.getMenu().findItem(R.id.popup_share); ShareActionProvider overflowProvider = (ShareActionProvider) overflowItem.getActionProvider(); overflowProvider.setShareHistoryFileName( ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME); overflowProvider.setShareIntent(createShareIntent());
Menu.xml es:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/popup_clear" android:icon="@drawable/ic_menu_clear" android:title="@string/popup_menu_clear" /> <item android:id="@+id/popup_insert_bg" android:icon="@drawable/ic_menu_insert_bg" android:title="@string/popup_menu_insert_bg"/> <item android:id="@+id/popup_share" android:icon="@android:drawable/ic_menu_share" android:title="@string/popup_menu_share" android:actionProviderClass="android.widget.ShareActionProvider"> </item> </menu>
- Configuración de un icono de recurso compartido en Actionbar ShareActionProvider
- Actualizar texto de ShareActionProvider
- Sólo cuatro opciones para ShareActionProvider con ActionBarSherlock
- ¿Cómo desactivas el historial de acciones cuando usas ShareActionProvider?
- No se puede emitir de ActionProvider a ShareActionProvider
- ¿Pasar la URL de WebView a ShareActionProvider?
- Compartir imagen con ShareActionProvider de Picasso
- ShareActionProvider para el nivel de API inferior a 14
Tuve que usar startActivity (getShareIntent ("/ status.jpg")); Esto no funciona exactamente como usted espera. Sin embargo, puede ser utilizado para el mismo propósito. Espero que ayude.
private Intent getShareIntent(String filePath) { Intent shareIntent = new Intent(Intent.ACTION_SEND); File sdCard = Environment.getExternalStorageDirectory(); File sharedFile = new File(sdCard + sharePath); Uri uri = Uri.fromFile(sharedFile); shareIntent.setType("image/*"); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); return shareIntent; }
Sin embargo, finalmente me mudé a usar la barra de acción con Patten Selection en su lugar: http://developer.android.com/design/patterns/selection.html