-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Description
Note
CC'ing the framework to see if there's any opposition to this proposal, e.g. philosophically, users are responsible for using MouseRegion
s themselves to change the cursor as they wish to abide by Android's quality standards.
(This is part of b/366229477)
To achieve Tier 1 large screen compatibility, different cursors should appear as users interact different UI elements; see the Large screen app quality docs. As part of this, an arrow cursor* should be shown on all buttons (this includes TextButton
, IconButton
, FloatingActionButton
, ElevatedButton
, DropdownButton
, PopupMenuButton
)**--this is explicitly stated in go/support_touchpad. So, we should consider ensuring an arrow pointer is used when buttons are hovered over.
One option for implementing this functionality is by using a MouseRegion
.
*I believe this maps to SystemMouseCursors.basic
, though see details in go/support_touchpad because that arrow has a Material-looking style, which should map to PointerIcon.TYPE_ARROW
.
**Technically, buttons made from pure text should be excluded, but this sort of button is not supported by Flutter out of the box (a developer would just use make some Text
clickable). So, I think it's fair to assume a developer can make sure a desirable cursor is used there themselves.