사진보기 Pinterest에 공유하는 것을 의미하는 아이콘 "P"를 어떻게 숨길 수 있습니까?공유 작업 공급자 근처의 공유 작업 (대부분 사용) 아이콘을 숨기는 방법은 무엇입니까?
그들은 모두 작업 표시 줄에있는 나는 ActionBarSherlock의를 사용합니다.
사진보기 Pinterest에 공유하는 것을 의미하는 아이콘 "P"를 어떻게 숨길 수 있습니까?공유 작업 공급자 근처의 공유 작업 (대부분 사용) 아이콘을 숨기는 방법은 무엇입니까?
그들은 모두 작업 표시 줄에있는 나는 ActionBarSherlock의를 사용합니다.
공유 이력 데이터 모델을 모두으로 유지하려면 추가 "기본 공유 활동"icom을 원하지 않습니다. How do you turn off share history when using ShareActionProvider?의 대답은 충분하지 않습니다.
은 당신이해야 할 것은 :
if (false)
와 함께이 라인을 대체 라인 if (activityCount > 0 && historySize > 0)
편집 : 이의 모습 XML에서, 메뉴 항목에 새 ActionProvider
을 설정하는 것을 잊지 마세요 : android:actionProviderClass="com.*.CustomShareActionProvider"
그게 전부 야!
지금 ActivityChooserModelClient를 구현할 수 없기 때문에 뭔가 빠졌습니까? – whitfin
또한 (이전에 편집하지 않는 것이 좋지 않음); ActionProvider를 사용하여 액티비티를 종료하고 돌아 가면 아이콘이 정상적으로 비어있는 [] 상자가 나타납니다. – whitfin
이 솔루션에 문제가 있습니다. 내 맞춤 클래스 (외부 패키지로 차단)에서 com.actionbarsherlock.widget.ActivityChooserModel을 가져올 수 없습니다. 이 클래스를 패키지에 복사해도 작동하지 않습니다 (앱이 다운 됨) :/ –
Sean의 답변을 바탕으로 필요한 수업을 만들었으므로 프로젝트에 복사 할 수 있습니다 (https://gist.github.com/saulpower/10557956). 이것은 히스토리를 끌 수있는 기능을 추가 할뿐만 아니라 공유하고 싶은 앱을 필터링합니다 (패키지 이름을 아는 경우).
private final String[] INTENT_FILTER = new String[] {
"com.twitter.android",
"com.facebook.katana"
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.journal_entry_menu, menu);
// Set up ShareActionProvider's default share intent
MenuItem shareItem = menu.findItem(R.id.action_share);
if (shareItem instanceof SupportMenuItem) {
mShareActionProvider = new ShareActionProvider(this);
mShareActionProvider.setShareIntent(ShareUtils.share(mJournalEntry));
mShareActionProvider.setIntentFilter(Arrays.asList(INTENT_FILTER));
mShareActionProvider.setShowHistory(false);
((SupportMenuItem) shareItem).setSupportActionProvider(mShareActionProvider);
}
return super.onCreateOptionsMenu(menu);
}
이 문제를 해결하는 방법을 찾았습니다. 지원 라이브러리 23.0.1을 사용하고 있습니다. 다른 지원 라이브러리 버전에서는 테스트하지 않았습니다.
ShareActionProvider를 만들 때 onCreateActionView() 메서드를 재정의하고 null을 반환하면 쉽게 해결할 수 있습니다. 그런 다음 팝업 메뉴에서 모든 기록을 추적 할 수 있지만 기록은 툴바에 표시되지 않습니다. 현재 내가이 해결을 사용하여 문제를 발견하지 않았습니다
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add(Menu.NONE, R.id.menu_share, Menu.NONE, R.string.share);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
mShareActionProvider = new ShareActionProvider(this) {
@Override
public View onCreateActionView() {
return null;
}
};
item.setIcon(R.drawable.abc_ic_menu_share_mtrl_alpha);
MenuItemCompat.setActionProvider(item, mShareActionProvider);
return true;
}
: 여기
은 코드 샘플입니다.
http : // stackoverflow.com/questions/10706564/how-do-you-turn-off-share-history-use-shareactionprovider –