Android Seekbar - 当您增加一个搜索栏时将所有搜索栏设置为 0

发布于 2025-01-09 18:43:55 字数 1160 浏览 2 评论 0原文

我创建了一个在活动页面中有 3 个搜索栏的应用程序。我想在移动搜索栏时将所有搜索栏设置为 0,如图所示。 screenshot apk

我尝试将其作为一组切换按钮来执行,但它不起作用。

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()

}

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()

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风蛊 2025-01-16 18:43:55

您可以使用此代码:

        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
        }

    })

这将是结果:

结果

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:

Result

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文