0

ProgressBar

Maria Santana
Maria Santana

Android ProgressBar


É um indicador de visualização gráfica que mostra algum progresso. A barra de progresso exibe uma barra que representa a conclusão de uma determinada tarefa. É bastante útil, pois dá ao usuário uma ideia do tempo para terminar a sua tarefa.


Usar esse componente é uma boa prática de experiência do usuário, pois exibe o status de andamento de uma determinada tarefa (como o download de uma imagem) para o usuário.


Principais atributos


android:minHeight : É usado para definir a altura da ProgressBar.


android:minWidth : É usado para definir a largura da ProgressBar.


android:progress : É usado para definir o número pelo qual o valor da barra de progresso será incrementado.


style : Por padrão o ProgressBar será exigida como uma roda giratória. Mas você pode customizar como deseja, por exemplo, se quiser deixar como uma barra horizontal, basta definir o atributo como:

style="?android:attr/progressBarStyleHorizontal"


Exemplo prático


Arquivo xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ProgressBar
        android:id="@+id/progressbar"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:padding="0dp" />

    <Button
        android:id="@+id/Button"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_below="@id/progressbar"
        android:layout_centerInParent="true"
        android:text="Click Here"
        android:visibility="visible"
        tools:visibility="visible" />
</RelativeLayout>


Na mainActivity:

val Button = findViewById<Button>(R.id.Button)

progressbar.max = 100
val currentProgress = 100

ObjectAnimator.ofInt(progressbar, "progress", currentProgress)
    .setDuration(2000)
    .start()

Button?.setOnClickListener() {
    progressbar.visibility = View.GONE
    Button.visibility = View.GONE
    Toast.makeText(this, "ProgressBar is gone", Toast.LENGTH_LONG).show()
    val intent: Intent = Intent(this, first::class.java)
    startActivity(intent)
    finish()
}


Aplicação rodando:


Dica


Você pode copiar esse exemplo, fazer melhorias e customizar como deseja, teste diferentes estilos e lógicas.


Abaixo segue links para maior aprofundamento:

https://developer.android.com/reference/kotlin/android/widget/ProgressBar

https://www.geeksforgeeks.org/progressbar-in-kotlin/

https://www.journaldev.com/327/android-progressbar-using-kotlin


Contato


Se você tiver alguma dúvida, pode entrar em contato comigo:

Linkendin : https://www.linkedin.com/in/marialuiza-0/

GitHub : https://github.com/MariaLuiza-CS

Discord : MariaLuiza#6485

0
0

Comentários (1)

1
Thiago Guedes

Thiago Guedes

29/06/2021 08:55

incrível, Maria! Compartilhando!

Desenvolvedora mobile

Brasil