fix: 待办列表和操作按钮被系统状态栏遮挡
This commit is contained in:
parent
bfc774be8e
commit
ae608fae32
2 changed files with 26 additions and 2 deletions
|
|
@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Column
|
|||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.safeContentPadding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.foundation.lazy.items
|
||||
|
|
@ -45,7 +46,8 @@ fun ManagerFragment(
|
|||
) {
|
||||
LazyColumn(
|
||||
state = state,
|
||||
contentPadding = PaddingValues(horizontal = TodoDefaults.screenPadding)
|
||||
contentPadding = PaddingValues(horizontal = TodoDefaults.screenPadding),
|
||||
modifier = Modifier.safeContentPadding()
|
||||
) {
|
||||
if (list.isEmpty()) {
|
||||
item {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import androidx.compose.animation.AnimatedContent
|
|||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.animateColorAsState
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.safeContentPadding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Close
|
||||
import androidx.compose.material.icons.outlined.Delete
|
||||
|
|
@ -18,8 +19,12 @@ import androidx.compose.material3.TopAppBar
|
|||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import cn.super12138.todo.R
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
|
|
@ -61,7 +66,10 @@ fun TodoTopAppBar(
|
|||
)
|
||||
},
|
||||
actions = {
|
||||
AnimatedContent(selectedMode) { inSelectedMode ->
|
||||
AnimatedContent(
|
||||
targetState = selectedMode,
|
||||
modifier = Modifier.safeContentPadding()
|
||||
) { inSelectedMode ->
|
||||
if (!inSelectedMode) {
|
||||
IconButton(
|
||||
onClick = toSettingsPage
|
||||
|
|
@ -94,4 +102,18 @@ fun TodoTopAppBar(
|
|||
containerColor = animatedTopAppBarColors
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@Preview(locale = "zh-rCN", showBackground = true)
|
||||
@Composable
|
||||
private fun TodoTopAppBarPreview() {
|
||||
var selectedMode by remember { mutableStateOf(false) }
|
||||
TodoTopAppBar(
|
||||
selectedTodoIds = (1..10).toList(),
|
||||
selectedMode = selectedMode,
|
||||
onCancelSelect = { selectedMode = !selectedMode },
|
||||
onSelectAll = { },
|
||||
onDeleteSelectedTodo = { },
|
||||
toSettingsPage = { selectedMode = !selectedMode }
|
||||
)
|
||||
}
|
||||
Loading…
Reference in a new issue