feat: show progress indicator for scanning

This commit is contained in:
Fabian Christoffel
2023-06-26 16:51:17 +02:00
parent 61b13c3e19
commit ec535b0ad2
2 changed files with 33 additions and 9 deletions

View File

@@ -16,6 +16,8 @@ import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.View.INVISIBLE
import android.view.View.VISIBLE
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
@@ -124,6 +126,7 @@ class MainActivity : AppCompatActivity() {
binding.fab.setIconResource( binding.fab.setIconResource(
if (isScanning) R.drawable.action_icon_disconnect else R.drawable.action_icon_scan if (isScanning) R.drawable.action_icon_disconnect else R.drawable.action_icon_scan
) )
binding.scanProgress.visibility = if (isScanning) VISIBLE else INVISIBLE
} }
} }

View File

@@ -31,15 +31,36 @@
android:padding="10dp" android:padding="10dp"
tools:listitem="@layout/row_device_list" /> tools:listitem="@layout/row_device_list" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/fab_container"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_gravity="bottom|end"
android:clipToPadding="false"
android:padding="20dp">
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/fab" android:id="@+id/fab"
android:layout_width="150dp" android:layout_width="150dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="16dp"
android:text='Start Scan' android:text='Start Scan'
app:icon="@drawable/action_icon_scan" app:icon="@drawable/action_icon_scan"
app:srcCompat="@android:drawable/stat_sys_data_bluetooth" /> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
android:id="@+id/scan_progress"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:translationZ="100dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:indeterminateTintMode="src_atop"
android:indeterminateTint="?attr/colorPrimary"
android:visibility="invisible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>