Вы можете сделать это следующим образом.
const styles = theme => ({
btn: {
height: 60,
fontSize: 18,
textTransform: "none"
},
buttonRipple: {
opacity: 0.3,
transform: "scale(1)",
animation: `ripple-effect 550ms ${theme.transitions.easing.easeInOut}`
},
"@keyframes ripple-effect": {
"0%": {
transform: "scale(0)",
opacity: 0.1
},
"100%": {
transform: "scale(1)",
opacity: 0.9
}
}
})
render: function () {
return (
<Button
className={classes.btn}
TouchRippleProps={{ classes: { rippleVisible: classes.buttonRipple } }}
>
)
}
Вам потребуется определить новый ключевой кадр, поскольку непрозрачность контролируется анимацией ключевого кадра, где она принимает начальную и конечную непрозрачность.Если кнопка долго нажата, непрозрачность будет отображаться из непрозрачности, определенной в классе "buttonRipple".
Надеюсь, это поможет.