Parcourir la source

Added read progress on main screen

sirekanyan il y a 8 ans
Parent
commit
798256548e

+ 11 - 0
app/src/main/java/me/vadik/knigopis/adapters/BooksAdapter.kt

@@ -3,6 +3,7 @@ package me.vadik.knigopis.adapters
 import android.app.AlertDialog
 import android.view.View
 import android.widget.ImageView
+import android.widget.ProgressBar
 import android.widget.TextView
 import com.bumptech.glide.Glide
 import com.bumptech.glide.request.RequestOptions
@@ -81,6 +82,16 @@ class BooksAdapter(
                 true
             }
         }
+        .bind<ProgressBar>(R.id.book_progress) {
+            val book = books[it]
+            if (book is PlannedBook) {
+                showNow()
+                setProgressSmoothly(book.priority)
+            } else {
+                hideNow()
+                progress = 0
+            }
+        }
         .bind<ImageView>(R.id.book_image) {
             alpha = 0f
             coverSearch.search(books[it])

+ 2 - 2
app/src/main/java/me/vadik/knigopis/extensions.kt

@@ -11,7 +11,7 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.view.inputmethod.InputMethodManager
-import android.widget.SeekBar
+import android.widget.ProgressBar
 import android.widget.Toast
 import com.bumptech.glide.RequestBuilder
 import com.bumptech.glide.load.DataSource
@@ -92,7 +92,7 @@ fun View.hide() {
         .start()
 }
 
-fun SeekBar.setProgressSmoothly(progress: Int) {
+fun ProgressBar.setProgressSmoothly(progress: Int) {
     ObjectAnimator.ofInt(this, "progress", progress).start()
 }
 

+ 6 - 0
app/src/main/res/drawable/light_progress_bar_background.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:id="@android:id/progress">
+        <clip android:drawable="@color/colorPrimaryLight" />
+    </item>
+</layer-list>

+ 11 - 0
app/src/main/res/layout/book.xml

@@ -6,6 +6,17 @@
     android:layout_height="72dp"
     android:foreground="?android:attr/selectableItemBackground">
 
+    <ProgressBar
+        android:id="@+id/book_progress"
+        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="2dp"
+        android:layout_marginEnd="16dp"
+        android:layout_marginStart="16dp"
+        android:layout_marginTop="64dp"
+        android:progressDrawable="@drawable/light_progress_bar_background"
+        tools:progress="80" />
+
     <ImageView
         android:id="@+id/book_image"
         android:layout_width="40dp"