fix: 主页面内容在输入法打开时被顶起

This commit is contained in:
Super12138 2025-01-16 16:27:53 +08:00
parent f801741608
commit ad44140ce9
3 changed files with 13 additions and 4 deletions

View file

@ -6,6 +6,8 @@ import android.view.HapticFeedbackConstants
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.stringResource
import cn.super12138.todo.R
@ -58,7 +60,8 @@ class CrashActivity : ComponentActivity() {
exitApp = {
view.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP)
finishAffinity()
}
},
modifier = Modifier.fillMaxSize()
)
}
}

View file

@ -4,8 +4,10 @@ import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import androidx.lifecycle.viewmodel.compose.viewModel
import cn.super12138.todo.ui.components.Konfetti
import cn.super12138.todo.ui.navigation.TodoNavigation
@ -21,7 +23,10 @@ class MainActivity : ComponentActivity() {
Surface(color = MaterialTheme.colorScheme.background) {
val mainViewModel: MainViewModel = viewModel()
val showConfetti = mainViewModel.showConfetti
TodoNavigation(viewModel = mainViewModel)
TodoNavigation(
viewModel = mainViewModel,
modifier = Modifier.fillMaxSize()
)
Konfetti(state = showConfetti)
}
}

View file

@ -9,10 +9,11 @@ import androidx.compose.animation.shrinkOut
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.exclude
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.ime
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeContent
import androidx.compose.foundation.layout.safeContentPadding
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
@ -98,7 +99,7 @@ fun MainPage(
)
}
},
contentWindowInsets = WindowInsets.safeContent,
contentWindowInsets = WindowInsets.safeContent.exclude(WindowInsets.ime),
modifier = modifier
) { innerPadding ->
if (windowSizeClass.windowWidthSizeClass == WindowWidthSizeClass.COMPACT) {