Add an indicator to show complete tasks

This commit is contained in:
Super12138 2024-06-25 12:00:06 +08:00
parent 53dfb04091
commit 87e52e458b
7 changed files with 36 additions and 194 deletions

View file

@ -3,10 +3,13 @@ package cn.super12138.todo.views.all
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.fragment.app.FragmentManager
import androidx.recyclerview.widget.RecyclerView
import cn.super12138.todo.R
import cn.super12138.todo.ToDoApp
import cn.super12138.todo.logic.model.ToDo
import cn.super12138.todo.utils.VibrationUtils
@ -19,6 +22,7 @@ class AllTasksAdapter(
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val todoContext: TextView = view.findViewById(R.id.todo_content_all)
val todoSubject: TextView = view.findViewById(R.id.todo_subject_all)
val itemBackground: LinearLayout = view.findViewById(R.id.item_background)
}
@ -33,6 +37,11 @@ class AllTasksAdapter(
holder.todoContext.text = todo.content
holder.todoSubject.text = todo.subject
if (todo.state == 1) {
holder.itemBackground.background =
ContextCompat.getDrawable(ToDoApp.context, R.drawable.bg_item_complete)
}
holder.itemView.setOnClickListener {
VibrationUtils.performHapticFeedback(it)

View file

@ -101,6 +101,10 @@ class ToDoBottomSheet : BottomSheetDialogFragment() {
binding.btnSave.text = getString(R.string.update)
TextUtils.getSubjectID(todoOrigSubject)?.let { binding.todoSubject.check(it) }
if (GlobalValues.devMode) {
binding.todoUuid.text = "UUID: $todoUUID"
}
}
binding.btnSave.setOnClickListener {

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/item_complete_color" />
</shape>

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical">
@ -17,6 +18,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:orientation="vertical">
<TextView
@ -34,9 +37,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="20dp"
android:layout_marginTop="25dp"
android:layout_marginRight="20dp"
android:gravity="center_horizontal"
android:hint="@string/tasks_textfield_hint"
app:errorEnabled="true"
@ -54,9 +55,7 @@
android:id="@+id/todo_subject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
app:chipSpacing="5dp"
app:selectionRequired="true"
app:singleSelection="true">
@ -134,10 +133,19 @@
</com.google.android.material.chip.ChipGroup>
<TextView
android:id="@+id/todo_uuid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="?android:attr/textColorPrimary"
android:textSize="15sp"
android:visibility="gone"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginTop="35dp"
android:layout_marginBottom="50dp"
android:gravity="center_horizontal"
android:orientation="horizontal">

View file

@ -11,9 +11,9 @@
android:focusable="true">
<LinearLayout
android:id="@+id/item_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView

View file

@ -189,98 +189,6 @@
<color name="md_theme_red_surfaceContainer">#2C1B19</color>
<color name="md_theme_red_surfaceContainerHigh">#372623</color>
<color name="md_theme_red_surfaceContainerHighest">#43302D</color>
<color name="md_theme_red_primary_mediumContrast">#FFBAAF</color>
<color name="md_theme_red_onPrimary_mediumContrast">#370000</color>
<color name="md_theme_red_primaryContainer_mediumContrast">#FF5540</color>
<color name="md_theme_red_onPrimaryContainer_mediumContrast">#000000</color>
<color name="md_theme_red_secondary_mediumContrast">#FFBAAF</color>
<color name="md_theme_red_onSecondary_mediumContrast">#370000</color>
<color name="md_theme_red_secondaryContainer_mediumContrast">#E26E5D</color>
<color name="md_theme_red_onSecondaryContainer_mediumContrast">#000000</color>
<color name="md_theme_red_tertiary_mediumContrast">#F6C273</color>
<color name="md_theme_red_onTertiary_mediumContrast">#211400</color>
<color name="md_theme_red_tertiaryContainer_mediumContrast">#B6893F</color>
<color name="md_theme_red_onTertiaryContainer_mediumContrast">#000000</color>
<color name="md_theme_red_error_mediumContrast">#FFBAB1</color>
<color name="md_theme_red_onError_mediumContrast">#370001</color>
<color name="md_theme_red_errorContainer_mediumContrast">#FF5449</color>
<color name="md_theme_red_onErrorContainer_mediumContrast">#000000</color>
<color name="md_theme_red_background_mediumContrast">#1E0F0D</color>
<color name="md_theme_red_onBackground_mediumContrast">#FADCD7</color>
<color name="md_theme_red_surface_mediumContrast">#1E0F0D</color>
<color name="md_theme_red_onSurface_mediumContrast">#FFF9F8</color>
<color name="md_theme_red_surfaceVariant_mediumContrast">#5C403B</color>
<color name="md_theme_red_onSurfaceVariant_mediumContrast">#E9C2BB</color>
<color name="md_theme_red_outline_mediumContrast">#BF9A95</color>
<color name="md_theme_red_outlineVariant_mediumContrast">#9D7B76</color>
<color name="md_theme_red_scrim_mediumContrast">#000000</color>
<color name="md_theme_red_inverseSurface_mediumContrast">#FADCD7</color>
<color name="md_theme_red_inverseOnSurface_mediumContrast">#372623</color>
<color name="md_theme_red_inversePrimary_mediumContrast">#950100</color>
<color name="md_theme_red_primaryFixed_mediumContrast">#FFDAD4</color>
<color name="md_theme_red_onPrimaryFixed_mediumContrast">#2D0000</color>
<color name="md_theme_red_primaryFixedDim_mediumContrast">#FFB4A8</color>
<color name="md_theme_red_onPrimaryFixedVariant_mediumContrast">#740100</color>
<color name="md_theme_red_secondaryFixed_mediumContrast">#FFDAD4</color>
<color name="md_theme_red_onSecondaryFixed_mediumContrast">#2D0000</color>
<color name="md_theme_red_secondaryFixedDim_mediumContrast">#FFB4A8</color>
<color name="md_theme_red_onSecondaryFixedVariant_mediumContrast">#6B150D</color>
<color name="md_theme_red_tertiaryFixed_mediumContrast">#FFDDAF</color>
<color name="md_theme_red_onTertiaryFixed_mediumContrast">#1B0F00</color>
<color name="md_theme_red_tertiaryFixedDim_mediumContrast">#F1BE6F</color>
<color name="md_theme_red_onTertiaryFixedVariant_mediumContrast">#4B3100</color>
<color name="md_theme_red_surfaceDim_mediumContrast">#1E0F0D</color>
<color name="md_theme_red_surfaceBright_mediumContrast">#483531</color>
<color name="md_theme_red_surfaceContainerLowest_mediumContrast">#190A08</color>
<color name="md_theme_red_surfaceContainerLow_mediumContrast">#281715</color>
<color name="md_theme_red_surfaceContainer_mediumContrast">#2C1B19</color>
<color name="md_theme_red_surfaceContainerHigh_mediumContrast">#372623</color>
<color name="md_theme_red_surfaceContainerHighest_mediumContrast">#43302D</color>
<color name="md_theme_red_primary_highContrast">#FFF9F8</color>
<color name="md_theme_red_onPrimary_highContrast">#000000</color>
<color name="md_theme_red_primaryContainer_highContrast">#FFBAAF</color>
<color name="md_theme_red_onPrimaryContainer_highContrast">#000000</color>
<color name="md_theme_red_secondary_highContrast">#FFF9F8</color>
<color name="md_theme_red_onSecondary_highContrast">#000000</color>
<color name="md_theme_red_secondaryContainer_highContrast">#FFBAAF</color>
<color name="md_theme_red_onSecondaryContainer_highContrast">#000000</color>
<color name="md_theme_red_tertiary_highContrast">#FFFAF7</color>
<color name="md_theme_red_onTertiary_highContrast">#000000</color>
<color name="md_theme_red_tertiaryContainer_highContrast">#F6C273</color>
<color name="md_theme_red_onTertiaryContainer_highContrast">#000000</color>
<color name="md_theme_red_error_highContrast">#FFF9F9</color>
<color name="md_theme_red_onError_highContrast">#000000</color>
<color name="md_theme_red_errorContainer_highContrast">#FFBAB1</color>
<color name="md_theme_red_onErrorContainer_highContrast">#000000</color>
<color name="md_theme_red_background_highContrast">#1E0F0D</color>
<color name="md_theme_red_onBackground_highContrast">#FADCD7</color>
<color name="md_theme_red_surface_highContrast">#1E0F0D</color>
<color name="md_theme_red_onSurface_highContrast">#FFFFFF</color>
<color name="md_theme_red_surfaceVariant_highContrast">#5C403B</color>
<color name="md_theme_red_onSurfaceVariant_highContrast">#FFF9F8</color>
<color name="md_theme_red_outline_highContrast">#E9C2BB</color>
<color name="md_theme_red_outlineVariant_highContrast">#E9C2BB</color>
<color name="md_theme_red_scrim_highContrast">#000000</color>
<color name="md_theme_red_inverseSurface_highContrast">#FADCD7</color>
<color name="md_theme_red_inverseOnSurface_highContrast">#000000</color>
<color name="md_theme_red_inversePrimary_highContrast">#5C0000</color>
<color name="md_theme_red_primaryFixed_highContrast">#FFE0DB</color>
<color name="md_theme_red_onPrimaryFixed_highContrast">#000000</color>
<color name="md_theme_red_primaryFixedDim_highContrast">#FFBAAF</color>
<color name="md_theme_red_onPrimaryFixedVariant_highContrast">#370000</color>
<color name="md_theme_red_secondaryFixed_highContrast">#FFE0DB</color>
<color name="md_theme_red_onSecondaryFixed_highContrast">#000000</color>
<color name="md_theme_red_secondaryFixedDim_highContrast">#FFBAAF</color>
<color name="md_theme_red_onSecondaryFixedVariant_highContrast">#370000</color>
<color name="md_theme_red_tertiaryFixed_highContrast">#FFE3BD</color>
<color name="md_theme_red_onTertiaryFixed_highContrast">#000000</color>
<color name="md_theme_red_tertiaryFixedDim_highContrast">#F6C273</color>
<color name="md_theme_red_onTertiaryFixedVariant_highContrast">#211400</color>
<color name="md_theme_red_surfaceDim_highContrast">#1E0F0D</color>
<color name="md_theme_red_surfaceBright_highContrast">#483531</color>
<color name="md_theme_red_surfaceContainerLowest_highContrast">#190A08</color>
<color name="md_theme_red_surfaceContainerLow_highContrast">#281715</color>
<color name="md_theme_red_surfaceContainer_highContrast">#2C1B19</color>
<color name="md_theme_red_surfaceContainerHigh_highContrast">#372623</color>
<color name="md_theme_red_surfaceContainerHighest_highContrast">#43302D</color>
<color name="item_complete_color">#282B24</color>
</resources>

View file

@ -192,98 +192,6 @@
<color name="md_theme_red_surfaceContainer">#FFE9E6</color>
<color name="md_theme_red_surfaceContainerHigh">#FFE2DD</color>
<color name="md_theme_red_surfaceContainerHighest">#FADCD7</color>
<color name="md_theme_red_primary_mediumContrast">#7E0100</color>
<color name="md_theme_red_onPrimary_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_primaryContainer_mediumContrast">#BB1A0E</color>
<color name="md_theme_red_onPrimaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_secondary_mediumContrast">#7D2318</color>
<color name="md_theme_red_onSecondary_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryContainer_mediumContrast">#BF5344</color>
<color name="md_theme_red_onSecondaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_tertiary_mediumContrast">#533700</color>
<color name="md_theme_red_onTertiary_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryContainer_mediumContrast">#7E5811</color>
<color name="md_theme_red_onTertiaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_error_mediumContrast">#8C0009</color>
<color name="md_theme_red_onError_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_errorContainer_mediumContrast">#DA342E</color>
<color name="md_theme_red_onErrorContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_background_mediumContrast">#FFF8F6</color>
<color name="md_theme_red_onBackground_mediumContrast">#281715</color>
<color name="md_theme_red_surface_mediumContrast">#FFF8F6</color>
<color name="md_theme_red_onSurface_mediumContrast">#281715</color>
<color name="md_theme_red_surfaceVariant_mediumContrast">#FFDAD4</color>
<color name="md_theme_red_onSurfaceVariant_mediumContrast">#573C38</color>
<color name="md_theme_red_outline_mediumContrast">#765853</color>
<color name="md_theme_red_outlineVariant_mediumContrast">#94736E</color>
<color name="md_theme_red_scrim_mediumContrast">#000000</color>
<color name="md_theme_red_inverseSurface_mediumContrast">#3E2C29</color>
<color name="md_theme_red_inverseOnSurface_mediumContrast">#FFEDEA</color>
<color name="md_theme_red_inversePrimary_mediumContrast">#FFB4A8</color>
<color name="md_theme_red_primaryFixed_mediumContrast">#DB3323</color>
<color name="md_theme_red_onPrimaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_primaryFixedDim_mediumContrast">#B7160B</color>
<color name="md_theme_red_onPrimaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryFixed_mediumContrast">#BF5344</color>
<color name="md_theme_red_onSecondaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryFixedDim_mediumContrast">#9E3B2E</color>
<color name="md_theme_red_onSecondaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryFixed_mediumContrast">#966D26</color>
<color name="md_theme_red_onTertiaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryFixedDim_mediumContrast">#7B550D</color>
<color name="md_theme_red_onTertiaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_surfaceDim_mediumContrast">#F1D3CE</color>
<color name="md_theme_red_surfaceBright_mediumContrast">#FFF8F6</color>
<color name="md_theme_red_surfaceContainerLowest_mediumContrast">#FFFFFF</color>
<color name="md_theme_red_surfaceContainerLow_mediumContrast">#FFF0EE</color>
<color name="md_theme_red_surfaceContainer_mediumContrast">#FFE9E6</color>
<color name="md_theme_red_surfaceContainerHigh_mediumContrast">#FFE2DD</color>
<color name="md_theme_red_surfaceContainerHighest_mediumContrast">#FADCD7</color>
<color name="md_theme_red_primary_highContrast">#4E0000</color>
<color name="md_theme_red_onPrimary_highContrast">#FFFFFF</color>
<color name="md_theme_red_primaryContainer_highContrast">#8C0100</color>
<color name="md_theme_red_onPrimaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_red_secondary_highContrast">#4E0000</color>
<color name="md_theme_red_onSecondary_highContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryContainer_highContrast">#7D2318</color>
<color name="md_theme_red_onSecondaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_red_tertiary_highContrast">#311F00</color>
<color name="md_theme_red_onTertiary_highContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryContainer_highContrast">#5C3D00</color>
<color name="md_theme_red_onTertiaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_red_error_highContrast">#4E0002</color>
<color name="md_theme_red_onError_highContrast">#FFFFFF</color>
<color name="md_theme_red_errorContainer_highContrast">#8C0009</color>
<color name="md_theme_red_onErrorContainer_highContrast">#FFFFFF</color>
<color name="md_theme_red_background_highContrast">#FFF8F6</color>
<color name="md_theme_red_onBackground_highContrast">#281715</color>
<color name="md_theme_red_surface_highContrast">#FFF8F6</color>
<color name="md_theme_red_onSurface_highContrast">#000000</color>
<color name="md_theme_red_surfaceVariant_highContrast">#FFDAD4</color>
<color name="md_theme_red_onSurfaceVariant_highContrast">#351E1A</color>
<color name="md_theme_red_outline_highContrast">#573C38</color>
<color name="md_theme_red_outlineVariant_highContrast">#573C38</color>
<color name="md_theme_red_scrim_highContrast">#000000</color>
<color name="md_theme_red_inverseSurface_highContrast">#3E2C29</color>
<color name="md_theme_red_inverseOnSurface_highContrast">#FFFFFF</color>
<color name="md_theme_red_inversePrimary_highContrast">#FFE7E3</color>
<color name="md_theme_red_primaryFixed_highContrast">#8C0100</color>
<color name="md_theme_red_onPrimaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_red_primaryFixedDim_highContrast">#620100</color>
<color name="md_theme_red_onPrimaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryFixed_highContrast">#7D2318</color>
<color name="md_theme_red_onSecondaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_red_secondaryFixedDim_highContrast">#5D0B05</color>
<color name="md_theme_red_onSecondaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryFixed_highContrast">#5C3D00</color>
<color name="md_theme_red_onTertiaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_red_tertiaryFixedDim_highContrast">#3F2800</color>
<color name="md_theme_red_onTertiaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_red_surfaceDim_highContrast">#F1D3CE</color>
<color name="md_theme_red_surfaceBright_highContrast">#FFF8F6</color>
<color name="md_theme_red_surfaceContainerLowest_highContrast">#FFFFFF</color>
<color name="md_theme_red_surfaceContainerLow_highContrast">#FFF0EE</color>
<color name="md_theme_red_surfaceContainer_highContrast">#FFE9E6</color>
<color name="md_theme_red_surfaceContainerHigh_highContrast">#FFE2DD</color>
<color name="md_theme_red_surfaceContainerHighest_highContrast">#FADCD7</color>
<color name="item_complete_color">#E8E9DE</color>
</resources>