Hello everybody When i add a min value to my Seekbar which is over 100 it always shows an min value of 100. So for example my min value is 120 but it shows 120. I found out that i can use every value until 100 but no bigger value for my “min”. Does anyone know the reason?
My code:
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?) { } })
Advertisement
Answer
seekbar.min = 120
Requires, API level 26 and above. If you test in a API level 26+, it should work fine. Below is my code :
Kotlin
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
<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>
Output: