如何通过Adadpter更改FloatingActiobButton(Fab)的背景颜色

时间:2017-12-16 07:34:37

标签: android floating-action-button

我正在尝试通过适配器更改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的颜色

感谢所有建议。

2 个答案:

答案 0 :(得分:1)

您应该使用setBackgroundTintList()

  

对背景drawable应用色调。

     

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

示例代码

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

而不是这个

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

答案 1 :(得分:0)

作为per my comment :

使用

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