如何更改kotlin中的seekbar值

nzrxty8p  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(379)


我引用了这个https://github.com/warkiz/tickseekbar
我想换衣服 0 33 57 100 将照片中的值添加到 2 4 6 8 我想把这个值显示为一个日志
我尝试了几种价值观,但都无法奏效。

<com.warkiz.tickseekbar.TickSeekBar
            android:id="@+id/tsb1"
            android:layout_width="286dp"
            android:layout_height="wrap_content"
            app:tsb_ticks_count="4"
            app:tsb_thumb_color="@color/skyblue"
            app:tsb_thumb_size="16dp"
            app:tsb_show_tick_marks_type ="oval"
            app:tsb_tick_marks_color="@color/skyblue"
            app:tsb_tick_marks_size="8dp"
            app:tsb_show_tick_texts="below"
            app:tsb_tick_texts_color="@color/black"
            app:tsb_tick_texts_size="17sp"
            app:tsb_track_background_color="@color/divid_color"
            app:tsb_track_background_size="2dp"
            app:tsb_track_progress_color="@color/skyblue"
            app:tsb_track_progress_size="3dp"
            android:layout_marginTop="90dp"
            android:layout_marginLeft="40dp"/>
val seekBar = TickSeekBar
            .with(context!!)
            .max(7F)
            .min(1F)
            .progressValueFloat(true)
            .progress(33f)
            .tickCount(7)
            .showTickMarksType(TickMarkType.DIVIDER)
            .tickMarksColor(resources.getColor(R.color.skyblue))
            .tickMarksSize(6) //dp
            .tickTextsSize(13) //sp
            .showTickTextsPosition(TextPosition.ABOVE)
            .tickTextsColorStateList(resources.getColorStateList(R.color.skyblue))
            .thumbColor(Color.parseColor("#ff0000"))
            .thumbSize(14)
            .trackProgressColor(resources.getColor(R.color.colorAccent))
            .trackProgressSize(4)
            .trackBackgroundColor(resources.getColor(R.color.skyblue))
            .trackBackgroundSize(2)
            .build()
6rqinv9w

6rqinv9w1#

将最大值设置为8。这将解决您的问题。

<com.warkiz.tickseekbar.TickSeekBar
        ...
        app:tsb_max="8"/>

hs1rzwqc

hs1rzwqc2#

在xml文件中,添加以下两行:

<com.warkiz.tickseekbar.TickSeekBar
        ...
        app:tsb_min="2"
        app:tsb_max="8"/>


并将值作为 Log ,在kotlin文件中执行此操作:

var tickSeekBar: TickSeekBar = findViewById(R.id.tsb1)
tickSeekBar.onSeekChangeListener =
    object : OnSeekChangeListener {
        override fun onSeeking(seekParams: SeekParams?) {
        }

        override fun onStartTrackingTouch(seekBar: TickSeekBar?) {
        }

        override fun onStopTrackingTouch(seekBar: TickSeekBar?) {
            if (seekBar != null) {
                Toast.makeText(applicationContext, seekBar.progress.toString(), Toast.LENGTH_SHORT).show()
                Log.d("abc", seekBar.progress.toString())
            }
        }
    }

相关问题