diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/TodoDefaults.kt b/app/src/main/kotlin/cn/super12138/todo/ui/TodoDefaults.kt index 3386031..7b962d4 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/TodoDefaults.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/TodoDefaults.kt @@ -7,4 +7,8 @@ object TodoDefaults { * 屏幕左右两边预留边距(防止内容全部贴边显示过丑) */ val screenPadding = 16.dp + /** + * 待办卡片默认高度 + */ + val toDoCardHeight = 80.dp } \ No newline at end of file diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt index ee79f9d..7ec9e91 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt @@ -53,11 +53,11 @@ fun MainPage( ) { val toDoList = viewModel.sortedTodos.collectAsState(initial = emptyList()) val listState = rememberLazyListState() - val isExpanded by remember { + /*val isExpanded by remember { derivedStateOf { listState.firstVisibleItemIndex == 0 } - } + }*/ val selectedTodoIds = viewModel.selectedTodoIds.collectAsState() var showDeleteConfirmDialog by rememberSaveable { mutableStateOf(false) } @@ -97,9 +97,9 @@ fun MainPage( enter = fadeIn() + expandIn(), exit = shrinkOut() + fadeOut() ) { - // TODO: 修复在滑动列表时FAB位移导致的动画不连贯 + // TODO: 修复在滑动列表时FAB位移导致的动画不连贯(临时方案为底部加padding) TodoFAB( - expanded = isExpanded, + expanded = true, onClick = { viewModel.setEditTodoItem(null) // 每次添加待办前清除上一次已选待办 toTodoEditPage() diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt index 447943b..038afe2 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt @@ -45,11 +45,11 @@ fun ManagerFragment( thumbUnselectedColor = MaterialTheme.colorScheme.secondary, thumbSelectedColor = MaterialTheme.colorScheme.primary ), - modifier = modifier, + modifier = modifier ) { LazyColumn( state = state, - contentPadding = PaddingValues(horizontal = TodoDefaults.screenPadding) + contentPadding = PaddingValues(start = TodoDefaults.screenPadding, bottom = TodoDefaults.toDoCardHeight / 2, end = TodoDefaults.screenPadding) ) { if (list.isEmpty()) { item { diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt index 79e5ed6..c50d641 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt @@ -41,6 +41,7 @@ import androidx.compose.ui.unit.dp import cn.super12138.todo.R import cn.super12138.todo.constants.Constants import cn.super12138.todo.logic.model.Priority +import cn.super12138.todo.ui.TodoDefaults import cn.super12138.todo.utils.VibrationUtils @OptIn(ExperimentalFoundationApi::class, ExperimentalSharedTransitionApi::class) @@ -64,7 +65,7 @@ fun TodoCard( ElevatedCard( modifier = modifier .fillMaxWidth() - .height(80.dp) + .height(TodoDefaults.toDoCardHeight) ) { Row( verticalAlignment = Alignment.CenterVertically,