【问题标题】:How to change the Background color of FloatingActiobButton (Fab) through Adadpter如何通过 Adapter 改变 FloatingActionButton (Fab) 的背景颜色
【发布时间】:2017-12-16 07:34:36
【问题描述】:

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

感谢所有建议。

【问题讨论】:

  • 使用 holder.fab.setBackgroundTintList(ColorStateList.valueOf(your color in int));
  • @VishvaDave 我也试过了,但它给了我不同的颜色
  • 不同颜色是什么意思?你要什么颜色?默认?
  • @SnehalGongle 确保您传递正确的颜色
  • @VishvaDave Hey Nilu 的回答解决了我的问题,谢谢帮助

标签: android floating-action-button


【解决方案1】:

你应该使用setBackgroundTintList()

将色调应用到背景可绘制对象。

这将始终在 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());

【讨论】:

  • @SnehalGongle 很高兴它有帮助
  • 我已经先给出答案了
  • @VishvaDave 亲爱的请检查 ans 的时间
  • @Nilu 肯定会做
  • @VishvaDave 对不起,你没有给我这部分代码 ContextCompat.getColor()
【解决方案2】:

作为per my comment :

使用

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

【讨论】:

  • Vishva 现在很开心
  • @SnehalGongle 不仅仅是一个快乐的问题。但我首先要给出想法,这就是原因。但无论如何很乐意帮助你:)
猜你喜欢
  • 2016-04-08
  • 2022-10-23
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
相关资源
最近更新 更多