如何通过适配器更改FloatingActionButton(Fab)的背景颜色

问题描述 投票:0回答:2

我试图通过适配器改变fab按钮的颜色,但不幸的是它只给我默认颜色

holder.fab.setBackgroundColor(pojo.getActivity_color());

在我的RecycleView适配器中

pojo = new ParentDashBoard_Pojo("Home Work", R.drawable.ic_book_black_24dp,R.color.dashBoard_parent5);
    parentDashBoardPojoList.add(pojo);

在我的MainActivity类中

所以R.color.dashBoard_parent5并没有改变fab的颜色

感谢所有建议。

android floating-action-button
2个回答
0
投票

作为per my comment :

使用

holder.fab.setBackgroundTintList(ColorStateList.valueOf(your color in int));
holder.fab.setImageResource(R.mipmap.ic_launcher);

1
投票

你应该使用setBackgroundTintList()

对背景drawable应用色调。

在API v21或更高版本上运行时,这将始终生效。在API v21之前的平台上运行时,只有在view实现TintableBackgroundView接口时才会生效。

示例代码

fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(this,pojo.getActivity_color())));
fab.setImageResource(R.mipmap.ic_launcher);

而不是这个

holder.fab.setBackgroundColor(pojo.getActivity_color());
© www.soinside.com 2019 - 2024. All rights reserved.