我試圖設置圖標ShareActionProvider,需要一個純白色的而不是半透明的白色。設置操作欄上的自定義共享圖標ShareActionProvider
但是,在share_menu.xml和代碼中的設置不起作用。想知道是否有人在擴展ShareActionProvider之前解決了這個問題。 (我使用actionbarsherlock)
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
inflater.inflate(R.menu.share_menu, menu);
MenuItem actionItem = menu.findItem(R.id.share_action_provider);
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
actionProvider.setShareIntent(mShareIntent);
// re-setting the icon as it's not being picked up from the menu xml file
actionItem.setIcon(R.drawable.ic_action_share);
super.onCreateOptionsMenu(menu, inflater);
}
share_menu.xml
<item android:id="@+id/share_action_provider"
android:showAsAction="ifRoom"
android:title="@string/share_with"
android:icon="@drawable/ic_action_share"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider" />
更新: 還試圖在風格上設置它,但沒有喜悅
<style name="Theme.MyApp" parent="Theme.Sherlock.Light">
<item name="actionModeStyle">@style/ActionModeStyle</item>
<item name="android:actionModeStyle">@style/ActionModeStyle</item>
</style>
<style name="ActionModeStyle" parent="Widget.Sherlock.ActionMode">
<item name="actionModeShareDrawable">@drawable/ic_action_share</item>
</style>
這隻會在內部版本在所有平臺上使用時才起作用。內置的'ShareActionProvider'使用非公共資源來指定drawable,所以這個解決方案非常適合ActionBarSherlock。 –
將actionModeShareDrawable添加到主題中,似乎對薑餅和ics都有效。 – scottyab
在JB或GB上對我沒有影響。 –