I have created an application with 3 search bars in an activity page. I want to set all search bars to 0 when I move a search bar, as shown in the image. screenshot apk
I tried to do it as a group of togglebutton but it doesn't work.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_options_page)
image_lightr.setOnClickListener {
finish()
}
val groupSeekBar = arrayOf(seekBar_global, seekBar_left, seekBar_right)
val groupToggleButton = arrayOf(heart_toggle, dimming_toggle, chenillard_toggle)
for (toggle in groupToggleButton){
toggle.setOnCheckedChangeListener { v, isChecked ->
if (isChecked)
groupToggleButton.forEach { if (it !=toggle) it.isChecked = false }
}
}
for (seekbar in groupSeekBar){
seekbar.setOnSeekBarChangeListener{v, isChanged ->
if(isChanged){
groupSeekBar.forEach { if (it != seekbar) it.progress = false}
}
}
}
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
actionBar?.hide()
supportActionBar?.hide()
}
You can use this code:
seekBar1.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener{
override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
seekBar2.progress = 0
seekBar3.progress = 0
}
override fun onStartTrackingTouch(p0: SeekBar?) {
// Do nothing
}
override fun onStopTrackingTouch(p0: SeekBar?) {
// Do nothing
}
})
seekBar2.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener{
override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
seekBar1.progress = 0
seekBar3.progress = 0
}
override fun onStartTrackingTouch(p0: SeekBar?) {
// Do nothing
}
override fun onStopTrackingTouch(p0: SeekBar?) {
// Do nothing
}
})
seekBar3.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener{
override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
seekBar1.progress = 0
seekBar2.progress = 0
}
override fun onStartTrackingTouch(p0: SeekBar?) {
// Do nothing
}
override fun onStopTrackingTouch(p0: SeekBar?) {
// Do nothing
}
})
This will be the result: