Es una barra de búsqueda vertical de Android con segmentos desarrollada en Kotlin. Ofrece múltiples atributos de personalización para crear un control deslizante / barra de búsqueda de acuerdo con sus necesidades.
Demostración
Configurar
Agregue el repositorio de Maven Central a la raíz de su proyecto build.gradle
Archivo
allprojects {
repositories {
mavenCentral()
}
}
Agrega la adicción en tu aplicación build.gradle
Archivo:
implementation 'io.github.smartsensesolutions:SegmentedVerticalSeekBar:1.0.1'
usar
Ejemplo de implementación aquí
Utilice la vista en su layout.xml declarando:
<com.ss.svs.SegmentedVerticalSeekBar
android:id="@+id/svsLevelView"
android:layout_width="150dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_marginTop="100dp"
app:backgroundColor="@color/color_background"
app:clockwise="true"
app:cornerRadius="10dp"
app:currentValue="2"
app:delimiterColor="@color/white"
app:isAllRadius="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:maxValue="5"
app:progressColor="@color/color_progress"
app:pyramidViewEnable="true"
app:step="1"
app:touchDisabled="false" />
Use setOnBoxedPointsChangeListener en su negocio / fragmento para obtener el progreso actual de la barra de búsqueda:
svsLevelView.setOnBoxedPointsChangeListener(object :
com.ss.svs.SegmentedVerticalSeekBar.OnValuesChangeListener {
override fun onProgressChanged(segmentedPointsSeekBar: com.ss.svs.SegmentedVerticalSeekBar?, progress: Int) {
activityMainBinding.tvCurrentValue.text = progress.toString()
}
override fun onStartTrackingTouch(segmentedPointsSeekBar: com.ss.svs.SegmentedVerticalSeekBar?) {
Log.e("MainAct","onStartTrackingTouch: "+segmentedPointsSeekBar?.value)
}
override fun onStopTrackingTouch(segmentedPointsSeekBar: com.ss.svs.SegmentedVerticalSeekBar?) {
Log.e("MainAct","onStopTrackingTouch: "+segmentedPointsSeekBar?.value)
activityMainBinding.svsLevelView.value = segmentedPointsSeekBar?.value!!
}
})
atributos
A continuación se muestran los diversos atributos disponibles para personalizar el aspecto de la barra de búsqueda.
valor máximo: Valor máximo de los segmentos a dibujar para la vista de la barra de búsqueda.
valor actual: Valor actual del Progreso en Seekbar. Se puede usar para establecer el feed actual predeterminado en la barra de búsqueda y, con este atributo getter, puede obtener el valor del feed actualizado.
radio de esquina: Propiedades del radio para curvar los bordes de Seekbar
Da un paso: Valor incremental para el progreso de arrastrar y soltar del usuario. Por ejemplo, si se establece en “2”, aumentará en 2 pasos de progreso en la barra de búsqueda.
delimitador Color: Color del separador que divide la barra de búsqueda en segmentos.
progreso Color: Progreso de color en Seekbar.
color de fondo: Color de la vista base de la barra de búsqueda.
pyramidViewEnable: El valor booleano si se establece en verdadero creará una barra de búsqueda con forma de pirámide. Establecerlo en falso creará una barra de búsqueda rectangular que es el caso predeterminado.
agujas del reloj: Booleano aplicable si la visualización piramidal está habilitada. Establecerlo en verdadero creará una barra de búsqueda piramidal de arriba a abajo, mientras que establecerlo en falso lo creará de abajo hacia arriba.
isAllRadius: Valor booleano para establecer el radio de todos los segmentos de la barra de búsqueda, es decir, vistas redondeadas para todos los segmentos.
toque Deshabilitado: Valor booleano para permitir el avance de la barra de búsqueda solo usando el gesto de deslizar y no el evento de tocar / presionar.
calificado: Booleano para habilitar / deshabilitar completamente la visualización de la barra de búsqueda.
Biblioteca IOS
Consulte también nuestra biblioteca de iOS SSVerticalSegmentsSlider
Licencia
Copyright 2021 SmartSense Solutions
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
.