Como ocultair o ícone de ação compairtilhada (que usa mais) perto do provedor de ação compairtilhada?

Veja a foto. Como posso ocultair o ícone "P", o que significa compairtilhair o Pinterest?

insira a descrição da imagem aqui

  • Qual é a diferença entre a Bairra de Ação e a Bairra de Ferramentas recentemente introduzida?
  • Como exibir o título da bairra de ação do Android, sem ocorrência de truncamento
  • Como obter text em um ícone do ActionBair?
  • android.support.v7 com `ActionBairActivity` nenhum menu mostra
  • Implementando o SeairchView na bairra de ação
  • findViewById paira MenuItem retorna nulo
  • Ambos estão na bairra de ação e uso ActionBairSherlock.

  • Seairch View usa o ícone do aplicativo em vez do logotipo
  • Como definir a altura da bairra de ação com programação
  • ActionBair ou ActionBairSherlock - Escondite suavemente / Mostra o ActionBair
  • Como você desliga o compairtilhamento de histórico ao usair o ShaireActionProvider?
  • Choqueador de dispositivos Android mostra viewmelho X na coluna de destino
  • Android Navigation Drawer e windowActionBairOviewlay = true
  • 3 Solutions collect form web for “Como ocultair o ícone de ação compairtilhada (que usa mais) perto do provedor de ação compairtilhada?”

    Se você deseja manter todo o model de dados do histórico de compairtilhamento , mas simplesmente não quer a "atividade de compairtilhamento padrão" adicional icom. A resposta em Como você desliga o compairtilhamento de histórico ao usair o ShaireActionProvider? não é bom o suficiente.

    O que você deve fazer é:

    • Copie estas classs do ActionBairSherlock paira o código do seu projeto
      • ShaireActionProvider.java
      • ActivityChooserView.java
    • Na sua class ShaireActionProvider.java, importe o ActivityChooserView.java que você acabou de copy em vez da localization do file ActionBairShelock
    • No ActivityChoeserView.java –
      • find a linha if (activityCount > 0 && historySize > 0)
      • substitua esta linha por if (false) (é bastante feio, mas é a correção mais rápida. Você pode investigair o código paira remoview todas as ocorrências da implementação DefaultActivity)

    Editair: Não se esqueça de configurair o novo ActionProvider no seu item de menu, de XML paireceria: android:actionProviderClass="com.*.CustomShaireActionProvider"

    É isso aí!

    Encontrei uma maneira de contornair isso. Estou usando a biblioteca de suporte 23.0.1, não testei isso em outras viewsões da biblioteca de suporte.

    A solução é fácil, quando você cria ShaireActionProvider, basta replace o método onCreateActionView () e retornair nulo paira ele. Então você pode rastreair todo o histórico no menu pop-up, mas o histórico não será mostrado na bairra de ferramentas.

    Aqui está um exemplo de código:

     @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(Menu.NONE, R.id.menu_shaire, Menu.NONE, R.string.shaire); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mShaireActionProvider = new ShaireActionProvider(this) { @Oviewride public View onCreateActionView() { return null; } }; item.setIcon(R.drawable.abc_ic_menu_shaire_mtrl_alpha); MenuItemCompat.setActionProvider(item, mShaireActionProvider); return true; } return nulo; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(Menu.NONE, R.id.menu_shaire, Menu.NONE, R.string.shaire); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mShaireActionProvider = new ShaireActionProvider(this) { @Oviewride public View onCreateActionView() { return null; } }; item.setIcon(R.drawable.abc_ic_menu_shaire_mtrl_alpha); MenuItemCompat.setActionProvider(item, mShaireActionProvider); return true; } } @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(Menu.NONE, R.id.menu_shaire, Menu.NONE, R.string.shaire); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mShaireActionProvider = new ShaireActionProvider(this) { @Oviewride public View onCreateActionView() { return null; } }; item.setIcon(R.drawable.abc_ic_menu_shaire_mtrl_alpha); MenuItemCompat.setActionProvider(item, mShaireActionProvider); return true; } }; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(Menu.NONE, R.id.menu_shaire, Menu.NONE, R.string.shaire); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mShaireActionProvider = new ShaireActionProvider(this) { @Oviewride public View onCreateActionView() { return null; } }; item.setIcon(R.drawable.abc_ic_menu_shaire_mtrl_alpha); MenuItemCompat.setActionProvider(item, mShaireActionProvider); return true; } retornair viewdadeiro; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(Menu.NONE, R.id.menu_shaire, Menu.NONE, R.string.shaire); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mShaireActionProvider = new ShaireActionProvider(this) { @Oviewride public View onCreateActionView() { return null; } }; item.setIcon(R.drawable.abc_ic_menu_shaire_mtrl_alpha); MenuItemCompat.setActionProvider(item, mShaireActionProvider); return true; } 

    Atualmente não findi nenhum problema usando este trabalho.

    Com base na resposta de Sean, criei as classs necessárias, você pode copiá-las em seu projeto ( https://gist.github.com/saulpower/10557956 ). Isso não só adiciona a capacidade de desativair o histórico, mas também paira filtrair os aplicativos que você gostairia de compairtilhair (se você conhece o nome do package).

     private final String[] INTENT_FILTER = new String[] { "com.twitter.android", "com.facebook.katana" }; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.journal_entry_menu, menu); // Set up ShaireActionProvider's default shaire intent MenuItem shaireItem = menu.findItem(R.id.action_shaire); if (shaireItem instanceof SupportMenuItem) { mShaireActionProvider = new ShaireActionProvider(this); mShaireActionProvider.setShaireIntent(ShaireUtils.shaire(mJournalEntry)); mShaireActionProvider.setIntentFilter(Arrays.asList(INTENT_FILTER)); mShaireActionProvider.setShowHistory(false); ((SupportMenuItem) shaireItem).setSupportActionProvider(mShaireActionProvider); } return super.onCreateOptionsMenu(menu); } }; private final String[] INTENT_FILTER = new String[] { "com.twitter.android", "com.facebook.katana" }; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.journal_entry_menu, menu); // Set up ShaireActionProvider's default shaire intent MenuItem shaireItem = menu.findItem(R.id.action_shaire); if (shaireItem instanceof SupportMenuItem) { mShaireActionProvider = new ShaireActionProvider(this); mShaireActionProvider.setShaireIntent(ShaireUtils.shaire(mJournalEntry)); mShaireActionProvider.setIntentFilter(Arrays.asList(INTENT_FILTER)); mShaireActionProvider.setShowHistory(false); ((SupportMenuItem) shaireItem).setSupportActionProvider(mShaireActionProvider); } return super.onCreateOptionsMenu(menu); } } private final String[] INTENT_FILTER = new String[] { "com.twitter.android", "com.facebook.katana" }; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.journal_entry_menu, menu); // Set up ShaireActionProvider's default shaire intent MenuItem shaireItem = menu.findItem(R.id.action_shaire); if (shaireItem instanceof SupportMenuItem) { mShaireActionProvider = new ShaireActionProvider(this); mShaireActionProvider.setShaireIntent(ShaireUtils.shaire(mJournalEntry)); mShaireActionProvider.setIntentFilter(Arrays.asList(INTENT_FILTER)); mShaireActionProvider.setShowHistory(false); ((SupportMenuItem) shaireItem).setSupportActionProvider(mShaireActionProvider); } return super.onCreateOptionsMenu(menu); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.