Showing posts with label 【ANDROID STUDIO】Data Binding Show or Hide Progressbar. Show all posts
Showing posts with label 【ANDROID STUDIO】Data Binding Show or Hide Progressbar. Show all posts

Thursday, May 13, 2021

【ANDROID STUDIO】Data Binding Show or Hide Progressbar

 package com.example.databinding


import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import androidx.databinding.DataBindingUtil
import com.example.databinding.databinding.ActivityMainBinding
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

binding.controlButton.setOnClickListener {
startOrStopProgressBar()
}
}

private fun startOrStopProgressBar() {
binding.apply {
if (progressBar.visibility == View.GONE) {
progressBar.visibility = View.VISIBLE
controlButton.text = "Stop"
} else {
progressBar.visibility = View.GONE
controlButton.text = "Start"
}
}

}

}

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<ProgressBar android:id="@+id/progressBar"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.471"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.295" />

<Button android:id="@+id/controlButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.557" />

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>