Blog para desarrollo de aplicaciones en Android, aprende paso a paso como crear aplicaciones.

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación para mostrarle publicidad personalizada y realizar análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más

Como crear un ProgressBar en Android utilizando Kotlin

Android Kotlin ProgressBar Example

Hola continuamos con este curso y en esta ocasión les traemos el control ProgressBar utilizando programación Kotlin. Desarrolla este ejemplo en Android para que puedas implementarlo en tus aplicacioines.
Android Studio - ProgressBar Kotlin

Crear Proyecto en Android ProgressBar Tutorial (Aquí)

Crearemos nuestro proyecto en Android para crear paso a paso este tutorial sobre el ProgressBar usando Kotlin.
Android Studio - ProgressBar Kotlin

Atributos diferentes de Android ProgressBar Widget

Algunos de los atributos populares de Android ProgressBar Widget son:
No.Atributos XMLDescripción
1android:indeterminateSe usa para establecer el modo indeterminado de la barra de progreso.
2android:indeterminateDrawablee usa para establecer drawable de la barra de progreso para el modo indeterminado.
3android:indeterminateDurationSe usa para establecer la duración de la animación indeterminada.
4android:maxSe usa para establecer el valor máximo.
5android:minSe usa para establecer el valor mínimo.
6android:progressSe usa para establecer el valor de progreso predeterminado (entre 0 y el valor máximo).
7android:progressDrawableSe usa para establecer drawable utilizado para el modo de progreso.
8android:secondaryProgressSe usa para configurar el valor de progreso secundario (entre 0 y el valor máximo)
Algunos de los atributos populares de Android ProgressBar heredados de View son:
No.Atributos XMLDescripción
1android:alphaSe usa para establecer alfa de vista.
2android:backgroundSe usa para establecer fondo dibujable para la vista.
3android:clickableSe usa para establecer si se puede hacer clic en esta vista o no.
4android:elevationSe usa para establecer la base de profundidad z de la vista.
5android:idSe usa para establecer el id de la vista. Id debe ser único.
6android:onClickSe usa para establecer la acción a realizar cuando se hace clic en esta vista.
7android:paddingSe usa para establecer el relleno de la vista.
8android:visibilitySe usa para establecer la visibilidad de la vista. Por ejemplo, VISIBLE, INVISIBLE, etc.
Android Kotlin ProgressBar  Example (Determinate Mode )
Android ProgressBar - Ejemplo de Kotlin: en este Tutorial de Android, aprenderemos a indicar el progreso de una operación usando ProgressBar. Utilizaremos una aplicación de ejemplo de Android con operación ficticia cuyo progreso debe indicarse al usuario.

ProgressBar se puede usar tanto para el progreso Determinado como para el Indeterminado de una tarea.

Indeterminado ProgressBar se usa cuando no puede estimar o seguir el progreso de una tarea. Por defecto, ProgressBar está en modo Indeterminado.
Determina ProgressBar se usa cuando puedes estimar o rastrear el progreso de una tarea. Para determinar ProgressBar, agregue la propiedad progress, android: progress = "0", en el archivo de diseño para ProgressBar View.

Android Kotlin ProgressBar  (Indeterminate Mode)

Android Indeterminate ProgressBar - Kotlin Ejemplo: en este tutorial de Android, aprenderemos a indicar el progreso de una tarea cuyo progreso no se puede rastrear. Aquí no indicaremos ningún número específico para el progreso, pero con una vista progresiva indefinida. Una tarea de ejemplo podría ser la carga de la página, el progreso es indefinido, pero debemos informar al usuario que la tarea de carga de la página está ocurriendo, por lo que ProgressBar está en modo Indefinido.

Crear Diseño ProgressBar Kotlin Example

Crearemos el diseño de nuestra aplicación y quedaría de la siguiente forma.


<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<!--Determinate-->
<Button
android:id="@+id/btnDeterminate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Do some stuff" />

<ProgressBar
style="@android:style/Widget.ProgressBar.Horizontal"
android:id="@+id/prgBarDeterminate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:progress="0"/>

<!--Indeterminate-->
<Button
android:id="@+id/btnIndeterminate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do some stuff" />

<ProgressBar
android:id="@+id/prgBarIndeterminate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:visibility="gone"/>

<!--ProgresBar Dinamico-->
<LinearLayout
android:id="@+id/linearDinamico"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>

<Button
android:id="@+id/btnDinamico"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HIDE PROGRESSBAR"/>

</LinearLayout>

Android Studio - ProgressBar Kotlin
Continuamos y nos dirigiremos a la clase.

Código MainActivity ProgressBar Kotlin Example

Abriremos nuestra clase para desarrollar el siguiente código de ProgressBar utilizando Kotlin.

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.LinearLayout
import android.widget.ProgressBar
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
private var progressBarStatus = 0
var dummy:Int = 0

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// ProgressBar Determinate
// Obtener las referencias del los objetos
var btnDeterminate = this.btnDeterminate
var prgBarDeterminate = this.prgBarDeterminate
// Evento on click del Button
btnDeterminate.setOnClickListener { v ->
// Ejecuta el Thread
Thread(Runnable {
// hilo ficticio que imita alguna operación cuyo progreso se puede rastrear
while (progressBarStatus < 100) {
//realizando alguna operación falsa
try {
dummy = dummy+25
Thread.sleep(1000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
// seguimiento del progreso
progressBarStatus = dummy
// Actualizando la barra de progreso
prgBarDeterminate.progress = progressBarStatus
}
}).start()
}
// ProgressBar Indeterminado
// obtener las referencias del archivo de diseño
val btnIndeterminate = this.btnIndeterminate
val prgBarIndeterminate: ProgressBar = this.prgBarIndeterminate
// cuando se hace clic en el botón, comienza la tarea
btnIndeterminate.setOnClickListener { v ->

// la tarea se ejecuta en un hilo
Thread(Runnable {
// hilo ficticio que imita alguna operación cuyo progreso no se puede rastrear
// mostrar la barra de progreso indefinida
this@MainActivity.runOnUiThread(java.lang.Runnable {
prgBarIndeterminate.visibility = View.VISIBLE
})

// realizando alguna operación ficticia de toma de tiempo
try {
var i=0;
while(i<Int.MAX_VALUE){
i++
}
} catch (e: InterruptedException) {
e.printStackTrace()
}

// cuando la tarea se completa, ha progresoBar terminado
this@MainActivity.runOnUiThread(java.lang.Runnable {
prgBarIndeterminate.visibility = View.GONE
})
}).start()
}

// ProgressBar Dinamico
// Crear ProgressBar dinamico.
val progressBar = ProgressBar(this)
progressBar.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)

val linearLayout = findViewById<LinearLayout>(R.id.linearDinamico)
// Agregar ProgressBar al LinearLayout
linearLayout?.addView(progressBar)

val btn = findViewById<Button>(R.id.btnDinamico)
btn?.setOnClickListener {
val visibility = if (progressBar.visibility == View.GONE) View.VISIBLE else View.GONE
progressBar.visibility = visibility

val btnText = if (progressBar.visibility == View.GONE) "Mostrar PROGRESSBAR" else "Ocultar PROGRESSBAR"
btn.text = btnText
}

}
}
Ahora para terminar.

Crear Emulador AVD (Aquí)

Crearemos el emulador para ejecutar nuestro proyecto y ver nuestro ProgressBar con Kotlin.
Android Studio - ProgressBar Kotlin

Android Studio - ProgressBar Kotlin
Listo y con esto terminamos. Si tienes alguna duda déjanos tu comentario.

Curso Kotlin Español

Android Studio - ProgressBar Kotlin

No hay comentarios:

Publicar un comentario

x

Registrate!

Curso Android Español

Curso Kotlin Español

eBook Free Android Studio

Noticias y Eventos

¡Directamente a tu INBOX!

Le enviaremos nuestros recursos gratis. Para obtener nuestro contenido nuevo, únase a nuestra comunidad. No te molestaremos enviando información inútil. ¡No te pierdas ninguna actualización, mantente conectado! Recuerda verificar tu correo electronico.

Ingrese su dirección de correo electrónico:

Entregado por FeedBurner