can*_*wow 2 java android kotlin
binding.seekbarConstrast.setOnSeekBarChangeListener(object :
SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean){}
override fun onStartTrackingTouch(seekBar: SeekBar?) {}
override fun onStopTrackingTouch(seekBar: SeekBar?) {
mainViewModel.adjustConstrast(
ProcessUtils.seek2param(
seekBar!!.max, 0f, 4f, seekBar.progress
)
)
}
})
Run Code Online (Sandbox Code Playgroud)
这段代码在Android中,我讨厌下面的代码,太多的seekbars使无意义的代码变得非常长,我可以使用Kotlin或Java来简化侦听器的实现吗?像Android动画适配器一样,只实现我想要使用的东西。谢谢。
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean){}
override fun onStartTrackingTouch(seekBar: SeekBar?) {}
Run Code Online (Sandbox Code Playgroud)
根据您的要求创建您自己的自定义侦听器
abstract class OnSeekBarSimpleChangeListener : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
// Nothing
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
// Nothing
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用
binding.seekbarConstrast.setOnSeekBarChangeListener(object : OnSeekBarSimpleChangeListener() {
override fun onStopTrackingTouch(seekBar: SeekBar?) {
mainViewModel.adjustConstrast(
ProcessUtils.seek2param(
seekBar!!.max, 0f, 4f, seekBar.progress
)
)
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |