Java Android Kotlin-为什么Seekbar最小值超过100不起作用?

Java Android Kotlin-为什么Seekbar最小值超过100不起作用?,java,android,android-studio,kotlin,Java,Android,Android Studio,Kotlin,大家好,当我把一个最小值添加到我的Seekbar时,它总是显示一个最小值100。 例如,我的最小值是120,但它显示为120。我发现我可以使用每一个值直到100,但我的“min”没有更大的值。有人知道原因吗 我的代码: myseekbar.min = 120 myseekbar.max = 200 myseekbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{

大家好,当我把一个最小值添加到我的Seekbar时,它总是显示一个最小值100。 例如,我的最小值是120,但它显示为120。我发现我可以使用每一个值直到100,但我的“min”没有更大的值。有人知道原因吗

我的代码:

        myseekbar.min = 120
    myseekbar.max = 200
    
    myseekbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{
        override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
        }

        override fun onStartTrackingTouch(seekBar: SeekBar?) {
        }

        override fun onStopTrackingTouch(seekBar: SeekBar?) {
        }
    })
seekbar.min=120

要求API等级为26及以上。如果您在API级别26+中进行测试,它应该可以正常工作。 下面是我的代码:

科特林

seekbar.max = 200
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    seekbar.min = 120
}

seekbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{
    override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
        seekbarValue.text = p1.toString()
    }
    override fun onStartTrackingTouch(p0: SeekBar?) {}

    override fun onStopTrackingTouch(p0: SeekBar?) {}
})
XML


输出:


您是否尝试过先设置最大值,而不是先设置最小值?不知道进度条的内部结构,但是由于默认的最大值是100,我想它可能不允许您将最小值设置为最大值。我只是尝试了一下。不幸的是没有成功
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <SeekBar
        android:id="@+id/seekbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/seekbar_value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>