SeekBar discreto en Kotlin

En Android , Discrete SeekBar es solo un avance de ProgressBar al igual que SeekBar, la única diferencia entre SeekBar y SeekBar discreto es que en SeekBar discreto, solo podemos establecer el valor en valores discretos como 1, 2, 3, etc.
En este artículo, discutiremos cómo crear un SeekBar en Kotlin. 

Diferentes atributos de Android Discrete SeekBar
 

Atributos XML Descripción
android: máximo Establece el valor máximo
Android: min Establece el valor mínimo
Android: progreso Especifica el valor de progreso ya establecido
android:progresoDibujable Establece dibujable del modo de progreso.
Android:pulgar Ayuda a dibujar un pulgar en seekBar..
Android: tinte de pulgar Configure el modo de fusión para aplicar el tinte del pulgar.
android:thumbTintMode Establezca el tinte para aplicar en la marca dibujable.
android:tickMarkTint Establezca el modo de fusión utilizado para aplicar el tinte de marca de verificación.
android:tickMarkTintMode Establezca el modo de fusión utilizado para aplicar el tinte de marca de verificación.
android:fondo Establece el fondo de la vista
Android: identificación Establece una identificación única de la vista
Android: elevación Establece la profundidad z base de la vista

El primer paso es crear un nuevo proyecto en Android Studio. Para ello sigue estos pasos:

  • Haga clic en Archivo, luego en Nuevo y luego en Nuevo proyecto, y asigne el nombre que desee.
  • Luego, seleccione Compatibilidad con el idioma Kotlin y haga clic en el botón siguiente.
  • Seleccione SDK mínimo, lo que necesite
  • Seleccione Actividad vacía y luego haga clic en finalizar .

Después de hacer esto, verá algunos directorios en el lado izquierdo después de que su proyecto/gradle haya terminado de cargarse. Debe tener un aspecto como este: 

Después de eso, tenemos que diseñar nuestro diseño. Para eso necesitamos trabajar con el archivo XML. Ve a app > res > layout y pega el siguiente código: 

Modificar archivo activity_main.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical">
 
    <SeekBar
            android:id="@+id/seekBar"
            style="@style/Widget.AppCompat.SeekBar.Discrete"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:min="1"
            android:max="10"
            android:progress="7"/>
 
</RelativeLayout>

Nota: 

style=”@style/Widget.AppCompat.SeekBar.Discrete”

Este estilo se usa para mostrar la barra de búsqueda para que funcione con valores discretos.

Crear SeekBar en el archivo MainActivity.kt

Abra app/src/main/java/yourPackageName/MainActivity.kt y realice los siguientes cambios: 

Java

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)
  
        //accessing the seekbar from our layout
        val seekBar = findViewById<SeekBar>(R.id.seekBar)
   
        seekBar?.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
            override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
               //here we can write some code to do something when progress is changed
            }
  
            override fun onStartTrackingTouch(seekBar: SeekBar) {
               //here we can write some code to do something whenever the user touche the seekbar
            }
  
            override fun onStopTrackingTouch(seekBar: SeekBar) {
                // show some message after user stopped scrolling the seekbar
                Toast.makeText(this@MainActivity, "Discrete Value of SeekBar is  " + seekBar.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="i.apps.myapplication">
 
    <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 Abhishek7 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 *