actionBar-shareIcon 分享按钮的修改

今天为了修改图库的分享按钮,进行了很多的尝试

1.寻找到了xml文件,如下

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_share"
            android:icon="@drawable/ic_menu_share_holo_light"
            android:title="@string/share"
            android:enabled="true"
            android:actionProviderClass="android.widget.ShareActionProvider"
            android:showAsAction="ifRoom" />

        <item android:id="@+id/action_hotknot"
            android:icon="@drawable/ic_hotknot"
            android:showAsAction="always"
            android:title="@string/hotknot"
            android:visible="false" />
</menu>

1)尝试修改android:icon="@drawable/ic_menu_share_holo_light" 没有效果

2)以为是xml查找错误,验证修改android:showAsAction="never" /> 按钮隐藏,有效果,证明xml文件没问题

3)是否代码中有修改,查找验证没有修改的地方

4)最后考虑是不是主题中有设置。找到主题设置的地方,如下

<activity android:name="com.android.gallery3d.app.MovieActivity"
                android:theme="@style/Theme.FunuiGallery"
                android:label="@string/movie_view_label"
                android:configChanges="orientation|keyboardHidden|screenSize|mnc|mcc|keyboard">
</activity>

更该主题,android:theme="@style/Theme.Gallery"  发现图标变成了白色,证明这个图标可以在主题中设置

2.进入主题查找相关的属性

<item name="actionModeShareDrawable">@android:drawable/ic_menu_share_funui</item>
<item name="actionModeCutDrawable">@android:drawable/ic_menu_cut_funui</item>
        <item name="actionModeCopyDrawable">@android:drawable/ic_menu_copy_funui</item>
        <item name="actionModePasteDrawable">@android:drawable/ic_menu_paste_funui</item>
        <item name="actionModeSelectAllDrawable">@android:drawable/ic_menu_selectall_funui</item>
        <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_funui</item>
        <item name="actionModeFindDrawable">@android:drawable/ic_menu_find_funui</item>
        <item name="actionModeWebSearchDrawable">@android:drawable/ic_menu_search_funui</item>
<item name="actionModeShareDrawable">@android:drawable/ic_menu_share_funui</item>

3.到主题下进行修改,如下

 <style name="Theme.FunuiGallery" parent="android:Theme.Funui">
        <item name="listPreferredItemHeightSmall">48dp</item>
        <item name="switchStyle">@android:style/Widget.CompoundButton</item>
        <item name="android:actionBarStyle">@style/PhotoBarStyle</item>
        <item name="*android:actionModeShareDrawable">@drawable/ic_menu_share_holo_light</item>
    </style>

成功

原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_shareicon_15020111.html