【问题标题】:How to change seekbar value in kotlin如何在 kotlin 中更改搜索栏的值
【发布时间】:2021-07-07 08:18:37
【问题描述】:

我引用了这个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()

【问题讨论】:

    标签: java android android-studio kotlin seekbar


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多