diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/AboutScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/AboutScreen.kt index 417603048..e7367e47d 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/AboutScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/AboutScreen.kt @@ -12,9 +12,11 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.SpanStyle @@ -27,6 +29,7 @@ import com.hippo.ehviewer.ui.login.LocalNavController @Composable fun AboutScreen() { val navController = LocalNavController.current + val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior() Scaffold( topBar = { TopAppBar( @@ -36,10 +39,11 @@ fun AboutScreen() { Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null) } }, + scrollBehavior = scrollBehavior, ) }, ) { - Column(modifier = Modifier.padding(it)) { + Column(modifier = Modifier.padding(it).nestedScroll(scrollBehavior.nestedScrollConnection)) { Preference(title = stringResource(id = R.string.settings_about_declaration), summary = stringResource(id = R.string.settings_about_declaration_summary)) val author = stringResource(R.string.settings_about_author_summary).replace('$', '@').let { fun Spanned.toAnnotatedString(): AnnotatedString = buildAnnotatedString { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/BaseScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/BaseScreen.kt index c23dd850e..60c0eeb89 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/BaseScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/BaseScreen.kt @@ -14,8 +14,10 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -24,6 +26,7 @@ import com.hippo.ehviewer.R @Composable fun BaseScreen() { val activity = LocalContext.current as Activity + val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior() Scaffold( topBar = { TopAppBar( @@ -33,10 +36,11 @@ fun BaseScreen() { Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null) } }, + scrollBehavior = scrollBehavior, ) }, ) { - Column(modifier = Modifier.padding(it)) { + Column(modifier = Modifier.padding(it).nestedScroll(scrollBehavior.nestedScrollConnection)) { PreferenceHeader( icon = painterResource(id = R.drawable.v_sad_panda_primary_x24), title = R.string.settings_eh, diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/LicenseScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/LicenseScreen.kt index 10151d78d..4d06f0045 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/LicenseScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/LicenseScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.stringResource import com.hippo.ehviewer.R import com.hippo.ehviewer.ui.login.LocalNavController @@ -19,6 +21,7 @@ import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer @Composable fun LicenseScreen() { val navController = LocalNavController.current + val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior() Scaffold( topBar = { TopAppBar( @@ -28,9 +31,10 @@ fun LicenseScreen() { Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null) } }, + scrollBehavior = scrollBehavior, ) }, ) { - LibrariesContainer(modifier = Modifier.fillMaxSize().padding(it)) + LibrariesContainer(modifier = Modifier.fillMaxSize().padding(it).nestedScroll(scrollBehavior.nestedScrollConnection)) } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/SettingsActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/SettingsActivity.kt index 7b32e37bb..210511017 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/SettingsActivity.kt @@ -2,6 +2,7 @@ package com.hippo.ehviewer.ui.settings import android.os.Bundle import androidx.compose.runtime.CompositionLocalProvider +import androidx.core.view.WindowCompat import androidx.navigation.ActivityNavigator import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable @@ -13,6 +14,7 @@ import com.hippo.ehviewer.ui.login.LocalNavController class SettingsActivity : EhActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + WindowCompat.setDecorFitsSystemWindows(window, false) setMD3Content { val navController = rememberNavController()