mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-04-24 08:36:26 +00:00
Apply padding on all sides on settings screens (#1496)
This commit is contained in:
parent
49ed863a7e
commit
69bcca0a22
5 changed files with 32 additions and 30 deletions
|
@ -6,14 +6,13 @@ import androidx.compose.animation.AnimatedVisibility
|
|||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.ColumnScope
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.ime
|
||||
import androidx.compose.foundation.layout.only
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.systemBars
|
||||
import androidx.compose.foundation.layout.union
|
||||
import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
|
@ -64,10 +63,12 @@ fun SearchSettingsScreen(
|
|||
content = {
|
||||
if (content != null) content()
|
||||
else {
|
||||
Scaffold(contentWindowInsets = WindowInsets.systemBars.union(WindowInsets.ime)) { innerPadding ->
|
||||
Scaffold(
|
||||
contentWindowInsets = WindowInsets.safeDrawing
|
||||
.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom)
|
||||
) { innerPadding ->
|
||||
Column(
|
||||
Modifier.verticalScroll(rememberScrollState())
|
||||
.then(Modifier.padding(bottom = innerPadding.calculateBottomPadding()))
|
||||
Modifier.verticalScroll(rememberScrollState()).then(Modifier.padding(innerPadding))
|
||||
) {
|
||||
settings.forEach {
|
||||
if (it is Int) {
|
||||
|
@ -206,8 +207,11 @@ fun <T: Any?> SearchScreen(
|
|||
}
|
||||
} else {
|
||||
val items = filteredItems(searchText.text)
|
||||
Scaffold(contentWindowInsets = WindowInsets.systemBars.union(WindowInsets.ime)) { innerPadding ->
|
||||
LazyColumn(contentPadding = PaddingValues.Absolute(bottom = innerPadding.calculateBottomPadding())) {
|
||||
Scaffold(
|
||||
contentWindowInsets = WindowInsets.safeDrawing
|
||||
.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom)
|
||||
) { innerPadding ->
|
||||
LazyColumn(contentPadding = innerPadding) {
|
||||
items(items) {
|
||||
itemContent(it)
|
||||
}
|
||||
|
|
|
@ -8,17 +8,14 @@ import android.net.Uri
|
|||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.view.WindowInsets.Type
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.ime
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.systemBars
|
||||
import androidx.compose.foundation.layout.union
|
||||
import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
@ -29,7 +26,6 @@ import androidx.compose.runtime.saveable.rememberSaveable
|
|||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.core.view.ViewCompat
|
||||
import helium314.keyboard.compat.locale
|
||||
import helium314.keyboard.keyboard.KeyboardSwitcher
|
||||
import helium314.keyboard.latin.BuildConfig
|
||||
|
@ -96,7 +92,7 @@ class SettingsActivity : ComponentActivity(), SharedPreferences.OnSharedPreferen
|
|||
|| !UncachedInputMethodManagerUtils.isThisImeEnabled(this, imm)
|
||||
) }
|
||||
if (spellchecker)
|
||||
Scaffold(contentWindowInsets = WindowInsets.systemBars.union(WindowInsets.ime)) { innerPadding ->
|
||||
Scaffold(contentWindowInsets = WindowInsets.safeDrawing) { innerPadding ->
|
||||
Column(Modifier.padding(innerPadding)) { // lazy way of implementing spell checker settings
|
||||
settingsContainer[Settings.PREF_USE_CONTACTS]!!.Preference()
|
||||
settingsContainer[Settings.PREF_BLOCK_POTENTIALLY_OFFENSIVE]!!.Preference()
|
||||
|
|
|
@ -3,10 +3,10 @@ package helium314.keyboard.settings.screens
|
|||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.ime
|
||||
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||
import androidx.compose.foundation.layout.only
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.systemBars
|
||||
import androidx.compose.foundation.layout.union
|
||||
import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Scaffold
|
||||
|
@ -21,10 +21,10 @@ import helium314.keyboard.latin.utils.JniUtils
|
|||
import helium314.keyboard.latin.utils.SubtypeSettings
|
||||
import helium314.keyboard.latin.utils.displayName
|
||||
import helium314.keyboard.settings.NextScreenIcon
|
||||
import helium314.keyboard.settings.preferences.Preference
|
||||
import helium314.keyboard.settings.SearchSettingsScreen
|
||||
import helium314.keyboard.settings.Theme
|
||||
import helium314.keyboard.settings.initPreview
|
||||
import helium314.keyboard.settings.preferences.Preference
|
||||
import helium314.keyboard.settings.previewDark
|
||||
|
||||
@Composable
|
||||
|
@ -48,10 +48,11 @@ fun MainSettingsScreen(
|
|||
settings = emptyList(),
|
||||
) {
|
||||
val enabledSubtypes = SubtypeSettings.getEnabledSubtypes(true)
|
||||
Scaffold(contentWindowInsets = WindowInsets.systemBars.union(WindowInsets.ime)) { innerPadding ->
|
||||
Scaffold(
|
||||
contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom)
|
||||
) { innerPadding ->
|
||||
Column(
|
||||
Modifier.verticalScroll(rememberScrollState())
|
||||
.then(Modifier.padding(bottom = innerPadding.calculateBottomPadding()))
|
||||
Modifier.verticalScroll(rememberScrollState()).then(Modifier.padding(innerPadding))
|
||||
) {
|
||||
Preference(
|
||||
name = stringResource(R.string.language_and_layouts_title),
|
||||
|
|
|
@ -10,9 +10,8 @@ import androidx.compose.foundation.layout.Arrangement
|
|||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.systemBarsPadding
|
||||
import androidx.compose.foundation.layout.safeDrawingPadding
|
||||
import androidx.compose.foundation.layout.wrapContentSize
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.material3.ExtendedFloatingActionButton
|
||||
|
@ -179,7 +178,7 @@ fun PersonalDictionaryScreen(
|
|||
text = { Text(stringResource(R.string.user_dict_add_word_button)) },
|
||||
icon = { Icon(painter = painterResource(R.drawable.ic_edit), stringResource(R.string.user_dict_add_word_button)) },
|
||||
modifier = Modifier.wrapContentSize(Alignment.BottomEnd).padding(all = 12.dp)
|
||||
.then(Modifier.systemBarsPadding().imePadding())
|
||||
.then(Modifier.safeDrawingPadding())
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@ import androidx.compose.foundation.layout.Arrangement
|
|||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.ime
|
||||
import androidx.compose.foundation.layout.only
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.systemBars
|
||||
import androidx.compose.foundation.layout.union
|
||||
import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.layout.widthIn
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
|
@ -145,10 +145,12 @@ fun SubtypeScreen(
|
|||
itemContent = { },
|
||||
filteredItems = { emptyList<String>() }
|
||||
) {
|
||||
Scaffold(contentWindowInsets = WindowInsets.systemBars.union(WindowInsets.ime)) { innerPadding ->
|
||||
Scaffold(
|
||||
contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom)
|
||||
) { innerPadding ->
|
||||
Column(
|
||||
modifier = Modifier.verticalScroll(scrollState).padding(horizontal = 12.dp)
|
||||
.then(Modifier.padding(bottom = innerPadding.calculateBottomPadding())),
|
||||
.then(Modifier.padding(innerPadding)),
|
||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||
) {
|
||||
MainLayoutRow(currentSubtype, customMainLayouts) { setCurrentSubtype(it) }
|
||||
|
|
Loading…
Add table
Reference in a new issue