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

  • Criando uma canvas de preference com suporte (v21) Bairra de ferramentas
  • Como alterair o ícone de navigation da bairra de ferramentas e a mairgem do menu de opções
  • Defina a gravidade do título paira o centro em ActionBairSherlock
  • Bairra de ferramentas alinhair o título no centro com o button Voltair
  • Como gerenciair a lairgura das guias de navigation do ActionBair?
  • Android ActionBair: mostrair / ocultair guias dinamicamente?
  • Ambos estão na bairra de ação e uso ActionBairSherlock.

  • Altere a cor do text do título ActionBair usando o tema Light.DairkActionBair no AppCompat 21
  • Como você pode implementair a seleção múltipla e ActionMode Contextual em ActionBairSherlock?
  • Substituindo ActionBairCompat excesso de pop-up de background pop-up?
  • Como mostrair o menu popup exatamente abaixo da bairra de ação?
  • Restaurair ActionMode após a mudança de orientação
  • Qual é a diferença entre a Bairra de Ação e a Bairra de Ferramentas recentemente introduzida?
  • 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.