Skip to content

Allow empty or overwritable initial time when using text input mode in showTimePicker #169131

@lionnel8

Description

@lionnel8

Use case

We are developing an app for a mountain rescue service, and many of the rescuers and users have reported frustration with how time input is handled using showTimePicker.

One of the required parameters of this method is initialTime. While that alone would not be a problem, the issue arises when using the input entry mode, which our users generally prefer over the dial mode. In this mode, users are forced to manually delete the pre-filled hour and minute values before they can enter the desired time.

This is how it looks when opened:
Image

Here, when a user wants to enter a time, they first need to tap at the end of the hour field or long-press to select the entire value, delete it manually, and then type the desired hour. After that, the focus automatically moves to the minutes field, where the user again needs to manually delete the pre-filled value before entering the desired minutes. This extra step of having to clear the default time values is perceived by users as very frustrating and unnecessarily inconvenient.

Image

Proposal

It would be very helpful if initialTime could be made optional, allowing the time picker in input mode to open with empty hour and minute fields. This way, users could immediately start typing their desired time without first having to clear the default values.

Alternatively, if initialTime must remain required, we propose improving the input behavior so that typing automatically replaces the pre-filled values without requiring the user to manually delete them first.

Metadata

Metadata

Assignees

Labels

Bot is counting down the days until it unassigns the issueP3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Flutterf: date/time pickerDate or time picker widgetsf: material designflutter/packages/flutter/material repository.r: fixedIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions