【问题标题】:Tinting action bar icons with AppCompact v7 on Android在 Android 上使用 AppCompat v7 为操作栏图标着色
【发布时间】:2014-12-19 23:18:18
【问题描述】:

是否有一种简单的方法可以用单一主题颜色为抽屉图标、溢出菜单图标和所有操作栏图标着色,或者我们是否需要分别为每个图标着色。正如标题中提到的,我们正在使用带有 SDK 21 的支持库 compat v7 的 Actionbar。

谢谢

【问题讨论】:

    标签: android android-actionbar-compat


    【解决方案1】:

    也许这个解决方案适用于 ActionBar 图标,应该也适用于 AppCompat

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
    
        MenuItem favoriteItem = menu.findItem(R.id.action_favorite);
        Drawable newIcon = (Drawable)favoriteItem.getIcon();
        newIcon.mutate().setColorFilter(getResources().getColor(R.color.myCustomTint), PorterDuff.Mode.SRC_IN);
        favoriteItem.setIcon(newIcon);
        return true;
    }
    

    关于这个问题的更多信息:Tint menu icons

    【讨论】:

    • 优秀,在 API lv 22 (5.1) 上为我工作。想为像我这样的菜鸟添加,在调用 'getMenuInflater().inflate()' 方法之后,将上述代码添加到 'onCreateOptionsMenu()' 方法中。另外,记得添加一个 colors.xml 资源并定义一些颜色用于你的色调。
    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多