Checklists in the body, colour from tags, and commit-derived CalVer #4
@@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.Arrangement
|
|||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.imePadding
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
@@ -63,7 +64,24 @@ fun EditorBottomBar(
|
|||||||
onAction: (EditorAction) -> Unit,
|
onAction: (EditorAction) -> Unit,
|
||||||
) {
|
) {
|
||||||
val dark = isSystemInDarkTheme()
|
val dark = isSystemInDarkTheme()
|
||||||
BottomAppBar(containerColor = tint.background(dark)) {
|
BottomAppBar(
|
||||||
|
// imePadding so the bar rides above the keyboard. `enableEdgeToEdge` makes
|
||||||
|
// the manifest's adjustResize a no-op, and Scaffold does not inset its
|
||||||
|
// bottomBar slot for the IME — without this the bar sits under the keyboard
|
||||||
|
// the moment anyone types. The content Column deliberately does NOT also
|
||||||
|
// add imePadding: Scaffold measures this bar at its padded height, so the
|
||||||
|
// inset already reaches the content through innerPadding.
|
||||||
|
modifier = Modifier.imePadding(),
|
||||||
|
containerColor = tint.background(dark),
|
||||||
|
// EXPLICIT, and not optional. The default is contentColorFor(containerColor),
|
||||||
|
// which maps a colour-SCHEME ROLE to its `on-` pair and returns Unspecified
|
||||||
|
// for anything else. A note tint is never a role — the default note is
|
||||||
|
// 0xFF171717 while the dark scheme's surface is 0xFF0A0A0A — so the default
|
||||||
|
// resolved to Unspecified, Surface published that as LocalContentColor, and
|
||||||
|
// Icon drew with no colour filter: black vectors on a near-black bar. The
|
||||||
|
// toolbar was rendering the whole time and was invisible in dark mode.
|
||||||
|
contentColor = MaterialTheme.colorScheme.onSurface,
|
||||||
|
) {
|
||||||
if (!readOnly) {
|
if (!readOnly) {
|
||||||
// A dot in the note's CURRENT colour rather than a palette icon: it
|
// A dot in the note's CURRENT colour rather than a palette icon: it
|
||||||
// shows what the colour is as well as what the button does.
|
// shows what the colour is as well as what the button does.
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import androidx.compose.foundation.isSystemInDarkTheme
|
|||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.imePadding
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.verticalScroll
|
import androidx.compose.foundation.verticalScroll
|
||||||
@@ -122,8 +121,11 @@ fun NoteEditorScreen(
|
|||||||
modifier =
|
modifier =
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
|
// No imePadding here: EditorBottomBar carries it, so Scaffold
|
||||||
|
// measures that bar at its keyboard-lifted height and the inset
|
||||||
|
// already reaches this Column through `padding`. Adding it again
|
||||||
|
// would inset for the keyboard twice.
|
||||||
.padding(padding)
|
.padding(padding)
|
||||||
.imePadding()
|
|
||||||
.verticalScroll(rememberScrollState())
|
.verticalScroll(rememberScrollState())
|
||||||
.padding(horizontal = 16.dp),
|
.padding(horizontal = 16.dp),
|
||||||
) {
|
) {
|
||||||
|
|||||||
Reference in New Issue
Block a user