zoukankan      html  css  js  c++  java
  • 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>

    成功

  • 相关阅读:
    JavaScript 中正则匹配时结果不一致的问题
    /dev/null
    Xcode 中通过 target 运行多个 c 程序
    Xcode 调试时打印变量值
    Recoil 请求的刷新之使用随机参数
    npm ci 与 install 的区别
    项目中私有 npm 源的设置
    Crontab 的使用
    Nest 在日志中打印对象
    配置 ESLint 自动格式化自闭合标签(Self closing tag)
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_shareicon_15020111.html
Copyright © 2011-2022 走看看