From 34ba71e22951addb2816f8217316789c34b45c3c Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 13 Sep 2020 23:48:03 +0530 Subject: [PATCH] Revamp UI for supporting a new click action Signed-off-by: Harsh Shandilya --- .../java/dev/msfjarvis/todo/MainActivity.kt | 8 ++- .../java/dev/msfjarvis/todo/ui/TodoRow.kt | 56 ++++++++++++------- .../res/drawable/ic_delete_forever_24dp.xml | 9 +++ 3 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 app/src/main/res/drawable/ic_delete_forever_24dp.xml diff --git a/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt b/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt index cad8be0c..6b8df6b4 100644 --- a/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt +++ b/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt @@ -90,9 +90,13 @@ fun TodoApp( bodyContent = { LazyColumnFor( items = items, - modifier = Modifier.padding(horizontal = 16.dp) + modifier = Modifier.padding(top = 16.dp) ) { todoItem -> - TodoRowItem(item = todoItem) { onDelete.invoke(todoItem) } + TodoRowItem( + item = todoItem, + onClick = { }, + onDelete = { onDelete.invoke(todoItem) }, + ) } }, ) diff --git a/app/src/main/java/dev/msfjarvis/todo/ui/TodoRow.kt b/app/src/main/java/dev/msfjarvis/todo/ui/TodoRow.kt index 0ee522de..47123804 100644 --- a/app/src/main/java/dev/msfjarvis/todo/ui/TodoRow.kt +++ b/app/src/main/java/dev/msfjarvis/todo/ui/TodoRow.kt @@ -2,11 +2,13 @@ package dev.msfjarvis.todo.ui import androidx.compose.foundation.Text import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyItemScope import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.Card +import androidx.compose.material.IconButton +import androidx.compose.material.ListItem +import androidx.compose.material.MaterialTheme import androidx.compose.material.ripple.RippleIndication import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -14,31 +16,45 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import dev.msfjarvis.todo.R +import dev.msfjarvis.todo.compose.utils.IconResource import dev.msfjarvis.todo.data.model.TodoItem @Composable -fun LazyItemScope.TodoRowItem(item: TodoItem, onLongClick: () -> Unit) { - Row( - modifier = Modifier.padding(vertical = 8.dp) - .fillParentMaxWidth() +fun LazyItemScope.TodoRowItem( + item: TodoItem, + onClick: () -> Unit, + onDelete: () -> Unit, +) { + Card( + shape = RoundedCornerShape(8.dp), + modifier = Modifier.fillParentMaxWidth() .clickable( - onClick = {}, - onLongClick = onLongClick, + onClick = onClick, indication = RippleIndication() ), ) { - Card( - shape = RoundedCornerShape(8.dp), - modifier = Modifier.fillParentMaxWidth(), - ) { - Text( - text = item.title, - style = TextStyle( - fontSize = 20.sp, - textAlign = TextAlign.Center - ), - modifier = Modifier.padding(16.dp), - ) - } + ListItem( + modifier = Modifier.padding(vertical = 8.dp) + .fillParentMaxWidth(), + text = { + Text( + text = item.title, + style = TextStyle( + fontSize = 20.sp, + textAlign = TextAlign.Center + ), + modifier = Modifier.padding(16.dp), + ) + }, + trailing = { + IconButton(onClick = onDelete) { + IconResource( + resourceId = R.drawable.ic_delete_forever_24dp, + tint = MaterialTheme.colors.onPrimary, + ) + } + } + ) } } diff --git a/app/src/main/res/drawable/ic_delete_forever_24dp.xml b/app/src/main/res/drawable/ic_delete_forever_24dp.xml new file mode 100644 index 00000000..aaf18eb9 --- /dev/null +++ b/app/src/main/res/drawable/ic_delete_forever_24dp.xml @@ -0,0 +1,9 @@ + + +