HandwritingField
A text field that can also be filled by writing: a trailing pen button opens the handwriting pad, then a check step shows the recognised text.
Consumer provides: the label, the value, the recognition language, and what happens on Use text.
Flow
- Field: a TextField with a trailing 48 dp pen IconButton ("Write title by hand").
- Pad (dialog titled "Write title"): an outlined pad with Pen (selected), Eraser │ Undo, Clear ink; a Recognition language button under it; footer Cancel / Convert to text.
- Check (dialog titled "Check title"): "Recognised from your handwriting. Edit if needed.", the recognised text in a focused TextField, a "Write again" text button; footer Cancel / Use text.
Rules
- Title the dialogs after the field: "Write title", "Check location".
- The pad uses the user's ink; Caveat (
ink-sample) is only a mockup stand-in. - The language button names the language ("English"), never a locale tag.
Compose
Field: OutlinedTextField + trailingIcon. Pad: the app's existing ink canvas inside the shared Dialog frame.
In the app
HandwritingPadTools is shared by the ToDo and event handwriting pads.
- One tool row inside the pad frame, above the writing surface: Pen, Eraser │ Undo, then Clear ink and Convert to text (ToDo) at the end.
- The row never scrolls.
- The frame is one 1 dp outline with 8 dp outer corners and a single line between tools and paper.
- Empty event fields show a muted hint such as “Write a title” (likewise for location and description) until written.
- The event pad is a standard-width dialog.
- The event pad's footer is “Cancel” / “Text review” / “Convert to text”.
Preview
Field with pen button
Write or type a title
Pad opened from the pen button