Android 带有rxBinding的setOnSeekBarChangeListener
如何使用rxBinding调用Android 带有rxBinding的setOnSeekBarChangeListener,android,kotlin,seekbar,rx-binding,Android,Kotlin,Seekbar,Rx Binding,如何使用rxBinding调用setOnSeekbarchaneListener 我的代码: view?.seekBarDisplay?.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromus
setOnSeekbarchaneListener
我的代码:
view?.seekBarDisplay?.setOnSeekBarChangeListener(object :
SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar,
progress: Int, fromuser: Boolean) {
val backLightValue = (progress / 100f)
val layoutParams = activity?.window?.attributes
layoutParams?.screenBrightness = backLightValue
activity?.window?.attributes = layoutParams
}
override fun onStartTrackingTouch(seekBar: SeekBar) {}
override fun onStopTrackingTouch(seekBar: SeekBar) {}
})
随着RxBinding 4.0的发布,您有4个选项可以使用它实现Seekbar:
SeekBar.changeEvents()
:订阅此可观察对象后,当调用onProgressChanged
、onStartTrackingTouch
和onStopTrackingTouch
方法时,您将收到通知SeekBar.changes()
:仅当SeekBar发生任何更改时通知您SeekBar.userChanges()
:仅当用户自身对SeekBar发生任何更改时通知您SeekBar.systemChanges()
:仅当系统对SeekBar发生任何更改时通知您yourSeekBar.changes()
.observeOn(AndroidSchedulers.mainThread())
.subscribe { seekBarChangeEvent ->
when (seekBarChangeEvent) {
is SeekBarProgressChangeEvent -> {}
is SeekBarStartChangeEvent -> {}
is SeekBarStopChangeEvent -> {}
}
}