• 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>

    成功

  • 相关阅读:
    Unity 关于特效和UI显示的优先级问题
    使用Frida神器轻松实现hook C/C++方法
    理解 Android Binder 机制(三):Java层
    理解 Android Binder 机制(二):C++层
    理解 Android Binder 机制(一):驱动篇
    Android Hook Instrumentation
    Cocos Creator 中根据uuid快速定位资源
    android 通用混淆配置
    vToRay + bbr 加速
    SpringBoot项目单元测试
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_shareicon_15020111.html
Copyright © 2020-2023  润新知