是否有可能在整个android应用程序中更改默认的 ClickSound ,而无需在应用程序中的每个按钮的onButtonClickListener / onButtonTouchListener中实现MediaPlayer?
由于该应用程序有近20个按钮,因此实现onButtonClickListenr并在每个 Activity 或片段中播放声音似乎是不合理的。如果,我们可以在一处为应用程序更改ClickSound,那就太好了。
很高兴听到您的意见...
最佳答案
您可以创建扩展功能来解决此问题
ViewExtentions.kt
fun View.setOnClickListenerWithSound(action: () -> Unit) {
val actionWithSound = ActionWithSound(context, action)
setOnClickListener {
actionWithSound.notifyAction()
}
}
private class ActionWithSound(context: Context,private val action: () -> Unit) {
private var mediaPlayer: MediaPlayer = MediaPlayer.create(context,R.raw.click )
fun notifyAction() {
mediaPlayer.start()
action.invoke()
}
}
您可以将其用作波纹管:
someBtn.setOnClickListenerWithSound {
// do what you want
}
关于android - 如何从一个地方更改整个应用程序中的默认ClickSound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60371750/