Android MaterialComponents Button如何通过代码动态修改app:icon属性
解决方法
你使用的是Material Components库的按钮控件,对应类为com.google.android.material.button.MaterialButton,而非系统原生Button,只需要修正两处代码即可:
- 修改ViewHolder内控件的声明类型
把action字段的类型从Button改为MaterialButton:
// ViewHolder类内的声明 MaterialButton action;
- 调用对应API设置图标
根据你存储的图标数据类型选择调用方法:
- 若你存储的是drawable资源ID(如
R.drawable.ic_round_xxx):
viewHolder.action.setText(list.get(position).label); viewHolder.action.setIconResource(list.get(position).icon);
- 若你存储的是Drawable实例对象:
viewHolder.action.setText(list.get(position).label); viewHolder.action.setIcon(list.get(position).icon);
内容的提问来源于stack exchange,提问作者Nekomajin42
相关产品推荐
相关产品推荐

