SeekBar en Kotlin

Android seekBar es una versión modificada de ProgressBar que tiene un pulgar arrastrable en el que un usuario puede arrastrar el pulgar hacia adelante y hacia atrás para establecer el valor de progreso actual. Podemos usar la barra de búsqueda en nuestro dispositivo Android como control de brillo, control de volumen, etc.

Es uno de los elementos importantes de la interfaz de usuario que brinda la opción de seleccionar los valores enteros dentro del rango definido, como 1 a 100.

Al arrastrar el pulgar en SeekBar, podemos deslizarnos hacia adelante y hacia atrás para elegir un valor entre el valor entero mínimo y máximo que definimos usando android:min y android:maxatributos. respectivamente.

Primero creamos un nuevo proyecto siguiendo los siguientes pasos:

  1. Haga clic en Archivo , luego en Nuevo => Nuevo proyecto .
  2. Después de eso, incluya el soporte de Kotlin y haga clic en siguiente.
  3. Seleccione el SDK mínimo según su conveniencia y haga clic en el botón Siguiente .
  4. Luego seleccione la actividad vacía => siguiente => finalizar .

Diferentes atributos del widget SeekBar de Android

Atributos XML Descripción
Android: identificación Se utiliza para identificar de forma única el control.
Android:pulgar Se utiliza para establecer dibujable para ser utilizado como pulgar que se puede mover hacia adelante y hacia atrás.
Android: tinte de pulgar Se utiliza para establecer el tinte para aplicar al pulgar.
Android: min Se utiliza para especificar el valor mínimo.
android: máximo Se utiliza para especificar el valor máximo.
Android: progreso Se utiliza para especificar el valor de progreso predeterminado entre 0 y 100.
android:progresoDibujable Se utiliza para especificar el modo dibujable del progreso.
android:fondo Se utiliza para establecer el fondo de la vista especificada.
Android: relleno Se utiliza para establecer el relleno de izquierda, derecha, arriba y abajo.

Modificar archivo activity_main.xml

Aquí, agregaremos el widget Seekbar en LinearLayout y estableceremos sus atributos como id, margen, etc.

Kotlin

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
  
    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="50dp"
        android:max="100"
        android:min="0" />
</LinearLayout>

Nombre de la aplicación especificado en el archivo strings.xml

Kotlin

<resources>
    <string name="app_name">SeekBarInKotlin</string>
</resources>

Archivo MainActivity.kt

En el archivo, primero declaramos una búsqueda variable y llamamos a la barra de búsqueda desde el archivo xml usando la id.

val seek = findViewById(R.id.seekBar)

luego, configure OnClickListener para realizar alguna acción en la barra de búsqueda.

seek?.setOnSeekBarChangeListener

y mostrar el mensaje de brindis usando

Toast.makeText(this@MainActivity,
   "Progress is: " + seek.progress + "%",
    Toast.LENGTH_SHORT).show()

Kotlin

package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.SeekBar
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val seek = findViewById<SeekBar>(R.id.seekBar)
        seek?.setOnSeekBarChangeListener(object :
            SeekBar.OnSeekBarChangeListener {
        override fun onProgressChanged(seek: SeekBar,
              progress: Int, fromUser: Boolean) {
          // write custom code for progress is changed
        }
  
        override fun onStartTrackingTouch(seek: SeekBar) {
            // write custom code for progress is started
        }
  
         override fun onStopTrackingTouch(seek: SeekBar) {
                // write custom code for progress is stopped
          Toast.makeText(this@MainActivity,
               "Progress is: " + seek.progress + "%",
                Toast.LENGTH_SHORT).show()
            }
        })
    }
}

Archivo AndroidManifest.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.geeksforgeeks.myfirstkotlinapp">
  
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
  
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
  
</manifest>

Ejecutar como emulador:

Publicación traducida automáticamente

Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *