在本文中,RangeSeekbar在android的应用程序中实现。 Android Seekbar是一种进度条。我们可以从左向右拖动搜索栏,反之亦然,因此可以更改当前进度。在这里,我们使用RangeSeekbar库在我们的应用程序中添加自定义搜寻栏。该库为我们提供了各种功能,例如步骤,模式,thumbDrawable等,这使其比android提供的seekbar更好。
方法
步骤1:在根build.gradle文件(而不是模块build.gradle文件)中添加支持库。这个库jitpack是一个新颖的软件包存储库。它是为JVM设计的,因此github和bigbucket中存在的任何库都可以直接在应用程序中使用。
XML
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
XML
dependencies {
implementation 'com.github.Jay-Goo:RangeSeekBar:v3.0.0'
}
strings.xml
- Lv1
- Lv2
- Lv3
- Lv4
- Lv5
activity_main.xml
MainActivity.kt
package org.geeksforgeeks.rangeseekbar
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import com.jaygoo.widget.OnRangeChangedListener
import com.jaygoo.widget.RangeSeekBar
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//whenever we change progress of seekbar this function
//get invoked automatically.
range_seekbar?.setOnRangeChangedListener(object :
OnRangeChangedListener {
override fun onRangeChanged(
rangeSeekBar: RangeSeekBar, leftValue: Float,
rightValue: Float, isFromUser: Boolean) {
Toast.makeText(this@MainActivity,
leftValue.toString(),Toast.LENGTH_LONG).show()
}
override fun onStartTrackingTouch(view: RangeSeekBar?,
isLeft: Boolean) {
}
override fun onStopTrackingTouch(view: RangeSeekBar?,
isLeft: Boolean) {
}
})
}
}
步骤2:在build.gradle文件中添加支持库,并在“ dependencies”部分中添加依赖项。通过这种方式,RangeSeekbar将直接在XML中使用。
XML格式
dependencies {
implementation 'com.github.Jay-Goo:RangeSeekBar:v3.0.0'
}
步骤3:在values文件夹中存在的字符串.xml文件中创建一个字符串数组。
字符串.xml
- Lv1
- Lv2
- Lv3
- Lv4
- Lv5
步骤4:在activity_main.xml文件中添加以下代码。在此文件中,将搜索栏添加到布局中,并根据需要添加重要的标签,如step,thumbDrawable,mode等。
activity_main.xml
步骤5:在MainActivity.kt文件中添加以下代码。在这里, setOnRangeChangedListener与搜索栏一起添加。当用户更改搜索栏并显示其进度变化的百分比时,将调用该方法。
MainActivity.kt
package org.geeksforgeeks.rangeseekbar
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import com.jaygoo.widget.OnRangeChangedListener
import com.jaygoo.widget.RangeSeekBar
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//whenever we change progress of seekbar this function
//get invoked automatically.
range_seekbar?.setOnRangeChangedListener(object :
OnRangeChangedListener {
override fun onRangeChanged(
rangeSeekBar: RangeSeekBar, leftValue: Float,
rightValue: Float, isFromUser: Boolean) {
Toast.makeText(this@MainActivity,
leftValue.toString(),Toast.LENGTH_LONG).show()
}
override fun onStartTrackingTouch(view: RangeSeekBar?,
isLeft: Boolean) {
}
override fun onStopTrackingTouch(view: RangeSeekBar?,
isLeft: Boolean) {
}
})
}
}
输出:
有关更多信息,请参考官方文档。
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!