setBackgroundTintColorList(ColorStateList)之后的setImageResource(int)不起作用FloatingActionButton

Abd*_*man 8 android android-layout floating-action-button

我必须在UtteranceProgressListener回调方法中更改FAB状态,但setImageResource()在调用之后不执行任何操作setBackgroundTintColorList().但是,当我注释掉它时确实改变了src图像setBackgroundTintColorList().

setBackgroundTintColorList();
setImageResource();
//doesn't work

//setBackgroundTintColorList();
setImageResource();
//Now it works.
Run Code Online (Sandbox Code Playgroud)

怎么了.

ers*_*tan 14

我遇到了同样的问题 - 我猜这是一个错误.虽然我的Fab可见,调用hide()和show()前后集后,作为一种解决方法.

fun FloatingActionButton.changeFab(@ColorRes colorRes: Int, @DrawableRes imageRes: Int) {
    hide()
    backgroundTintList = ContextCompat.getColorStateList(context, colorRes)
    setImageResource(imageRes)
    show()
}
Run Code Online (Sandbox Code Playgroud)

错误报告:https://issuetracker.google.com/issues/111316656