Ajuda - ProgressBar em Kotlin
- #Kotlin
- #Android
Boa noite!
Gente, estou fazendo um projetinho bem simples em um curso que estou fazendo, onde implementamos um app que sorteia numeros de 1 a 6 e mostra a face de um dado correspondente ao numero sorteado.
Para personalizar coloquei uma progressbar que é animada sempre que o botão é apertado e sorteado um novo numero.
O problema é que não consigo resetar a progressbar depois que é animada pela primeira vez, alguém pode me ajudar?
Já tentei
-> Alternar a visibilidade do componente (invisible, visible, gone)
-> setar o progress como zero depois de executada
e várias outras tentativas de fazer com que ele apareça só na hora de ser animada ou de voltar ao estado inicial depois da animação.
Alguém pode me ajudar? Agradeço desde já.
Meu código está no git, nesse link abaixo
https://github.com/BrunoRijo/DiceRoller
mas vou deixar aqui também a parte onde a progressbar é colocada na activity, e meu código main.
<com.mikhaellopez.circularprogressbar.CircularProgressBar
android:id="@+id/circularProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cpb_background_progressbar_color="@color/GreenLight"
app:cpb_background_progressbar_width="10dp"
app:cpb_progress_direction="to_right"
app:cpb_progressbar_color="@color/white"
app:cpb_progressbar_width="10dp"
app:cpb_progress_max="10"
app:cpb_round_border="false"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
Classe main
package br.com.bruno.diceroller
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.PersistableBundle
import android.view.View
import androidx.core.view.isGone
import androidx.core.view.isVisible
import br.com.bruno.diceroller.databinding.ActivityMainBinding
import kotlin.random.Random
class MainActivity : AppCompatActivity() {
private lateinit var binding : ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.btnRollDice.setOnClickListener {
animationBarProgress()
}
}
private fun animationBarProgress(){
resetProgressBar()
binding.circularProgressBar.apply {
setProgressWithAnimation(10f, 250)
}
rollDice()
}
private fun resetProgressBar() {
binding.circularProgressBar.progress = 0f
}
private fun rollDice() {
binding.imageDice.setImageResource(when(Random.nextInt(6)+1){
1 -> R.drawable.dice_1
2 -> R.drawable.dice_2
3 -> R.drawable.dice_3
4 -> R.drawable.dice_4
5 -> R.drawable.dice_5
else -> R.drawable.dice_6
})
}
}
https://linkedin.com/in/brunorijo - (Conecta lá)