Java Android Kotlin-为什么Seekbar最小值超过100不起作用?
大家好,当我把一个最小值添加到我的Seekbar时,它总是显示一个最小值100。 例如,我的最小值是120,但它显示为120。我发现我可以使用每一个值直到100,但我的“min”没有更大的值。有人知道原因吗 我的代码: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{
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>