Android SeekBar是一种带有可拖动拇指的ProgressBar。最终用户可以左右拖动拇指来移动歌曲的进度, 文件下载等。
SeekBar.OnSeekBarChangeListener接口提供了用于对搜索栏进行均匀处理的方法。
【Kotlin Android SeekBar】我们可以在Android中创建两种类型的SeekBar
- SeekBar进展顺利。
- SeekBar具有离散的进度点。
Kotlin Android SeekBar示例 在此示例中, 我们将创建具有平滑进度的SeekBar和具有离散进度点的SeekBar。
activity_main.xml
在activity_main.xml布局中添加SeekBar。
<
?xml version="1.0" encoding="utf-8"?>
<
android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="example.srcmini.com.kotlinseekbar.MainActivity">
<
SeekBarandroid:id="@+id/seekbar_Default"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:layout_marginEnd="8dp"android:layout_marginStart="8dp"android:layout_marginTop="8dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.174" />
<
SeekBarandroid:id="@+id/seekbar_Discrete"style="@style/Widget.AppCompat.SeekBar.Discrete"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:layout_marginEnd="8dp"android:layout_marginStart="8dp"android:layout_marginTop="8dp"android:max="10"android:progress="0"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="1.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.333" />
<
/android.support.constraint.ConstraintLayout>
MainActivity.kt
在此类中, 我们调用SeekBar.OnSeekBarChangeListener接口并覆盖其方法。
package example.srcmini.com.kotlinseekbarimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.widget.SeekBarimport android.widget.Toastclass MainActivity : AppCompatActivity() {var seekBarNormal: SeekBar? = nullvar seekBarDiscrete: SeekBar? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)seekBarNormal= findViewById(R.id.seekbar_Default)seekBarDiscrete = findViewById(R.id.seekbar_Discrete)seekBarNormal?.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {Toast.makeText(applicationContext, "seekbar progress: $progress", Toast.LENGTH_SHORT).show()}override fun onStartTrackingTouch(seekBar: SeekBar) {Toast.makeText(applicationContext, "seekbar touch started!", Toast.LENGTH_SHORT).show()}override fun onStopTrackingTouch(seekBar: SeekBar) {Toast.makeText(applicationContext, "seekbar touch stopped!", Toast.LENGTH_SHORT).show()}})seekBarDiscrete?.setOnSeekBarChangeListener(object :SeekBar.OnSeekBarChangeListener{override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.Toast.makeText(applicationContext, "discrete seekbar progress: $progress", Toast.LENGTH_SHORT).show()}override fun onStartTrackingTouch(seekBar: SeekBar?) {//TODO("not implemented") //To change body of created functions use File | Settings | File Templates.Toast.makeText(applicationContext, "discrete seekbar touch started!", Toast.LENGTH_SHORT).show()}override fun onStopTrackingTouch(seekBar: SeekBar?) {//TODO("not implemented") //To change body of created functions use File | Settings | File Templates.Toast.makeText(applicationContext, "discrete seekbar touch stopped", Toast.LENGTH_SHORT).show()}})}}
输出:
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
推荐阅读
- 带有ViewPager的Kotlin Android TabLayout
- Kotlin android sharedpreferences用法
- Kotlin Android读写内部存储
- Kotlin Android读写外部存储
- Kotlin Android ListView
- Kotlin Android弹出菜单
- Kotlin Android选项菜单
- Kotlin Android通知
- Kotlin Android媒体播放器