पर एक कस्टम शेयर आइकन सेट करना मैं आइकन ShareActionProvider आइकन सेट करने का प्रयास कर रहा हूं, अर्द्ध पारदर्शी सफेद के बजाय ठोस सफेद की आवश्यकता है।एक्शनबार ShareActionProvider
हालांकि share_menu.xml और कोड में सेटिंग काम नहीं करती है। बस यह सोचकर कि शेयरएक्शनप्रोवाइडर को विस्तारित करने से पहले किसी के लिए कामकाज हो गया है या नहीं। (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' ड्रॉइंग निर्दिष्ट करने के लिए एक गैर-सार्वजनिक संसाधन का उपयोग करता है, इसलिए यह समाधान बहुत ActionBarSherlock-विशिष्ट है। –
एक्शनमोडशेयर मुख्य विषय में हटाने योग्य, जिंजरब्रेड और ics दोनों पर काम करने लगता है। – scottyab
जेबी या जीबी पर मेरे लिए कोई फर्क नहीं पड़ता। –