首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FloatingActionButton中的Android tint图标

FloatingActionButton中的Android tint图标
EN

Stack Overflow用户
提问于 2015-08-17 10:11:42
回答 7查看 6.2K关注 0票数 9

如何在FloatingActionButton中着色图标资源映像?我试过favoriteFab.setColorFilter(R.color.yellow, PorterDuff.Mode.OVERLAY);,但没有成功。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-08-18 14:16:56

如果您使用的是API 21或更高版本,您可以像这样设置可绘制的颜色。

mFAB.getDrawable().mutate().setTint(getResources().getColor(R.color.yourColor));

例如。

代码语言:javascript
复制
mFAB = (FloatingActionButton) findViewById(R.id.fab);
mFAB.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Snackbar.make(v, "Yummy snackbar", LENGHT_LONG).show();
    }
});
mFAB.getDrawable().mutate().setTint(getResources().getColor(R.color.colorAccent));

更新:自从被废弃以来,您应该使用ContextCompat代替。使用以下示例:

代码语言:javascript
复制
mFAB.getDrawable().mutate().setTint(ContextCompat.getColor(this, R.color.colorAccent));
票数 7
EN

Stack Overflow用户

发布于 2016-07-12 14:03:34

我假设favoriteFab是你的FloatingActionButton。您可以使用:

代码语言:javascript
复制
int color = ContextCompat.getColor(this, R.color.yellow);
favoriteFab.getDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);
票数 9
EN

Stack Overflow用户

发布于 2015-10-21 09:00:14

代码语言:javascript
复制
Drawable fabDr= mFAB.getDrawable();
DrawableCompat.setTint(fabDr, Color.WHITE);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32047785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档