confirmationDialog background is translucent on Android (90% surface)

Aperta Adatta ai principianti
#602 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, swift
Ambito
design, mobile

Direzione di ricerca

Inizia con ConfirmationDialogPresentation e la definizione di Color.overlayBackground in Sources/SkipUI/SkipUI/Color/Color.swift; confrontala con l’approccio systemBarBackground menzionato nell’issue. Riproduci la finestra di dialogo sopra un Form o una List su Android e verifica in che modo lo sfondo influisce sulla leggibilità del testo. Il lavoro è completato quando il contenuto della finestra di dialogo è leggibile su uno sfondo opaco oppure viene rispettato .presentationBackground(...).

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Version: skip-ui 1.60.0; the same code is in 1.66.3.

ConfirmationDialogPresentation draws its sheet with Color.overlayBackground, which is:

static let overlayBackground: Color = Color(colorImpl: {
    MaterialTheme.colorScheme.surface.copy(alpha: Float(0.9))
})

(Sources/SkipUI/SkipUI/Color/Color.swift)

Over a busy screen (a Form, a List), whatever is behind the dialog shows through its title, message and buttons, which makes them hard to read. On iOS, the action sheet's material looks opaque. Because it's a static let, an app can't override it.

To reproduce: a Form with several rows, plus a .confirmationDialog with a title, a message and two buttons (one with role: .destructive). Show it on Android: the form rows are readable through the dialog.

Suggestion: make it opaque, e.g. MaterialTheme.colorScheme.surfaceColorAtElevation(3.dp) like systemBarBackground, or honour .presentationBackground(...) on the dialog's content.

Lingua principale
Swift
Stelle
331
Fork
89
Merge medio
2g 13h
PR unite (30g)
26

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di skiptools/skip-ui

Tutte le issue di skiptools/skip-ui

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.