-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Labels
a: mouseIssues related to using a mouse or mouse supportIssues related to using a mouse or mouse supportf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.r: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer version
Description
CheckedPopupMenuItem has a ListTile child without onTap, stacked on top of PopupMenuItem with edges exposed. As a result, the cursor only updates hovering edges. Also CheckedPopupMenuItem doesn't have a parameter to override the cursor.
minimal code sample
import 'package:flutter/material.dart';
enum Fruits { mango, apple, banana, straberry, all }
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key, this.dark = false, this.useMaterial3 = false});
final bool dark;
final bool useMaterial3;
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Material App',
themeMode: dark ? ThemeMode.dark : ThemeMode.light,
theme: ThemeData(
useMaterial3: useMaterial3,
brightness: dark ? Brightness.dark : Brightness.light,
colorSchemeSeed: const Color(0xff6750a4),
),
darkTheme: ThemeData(
useMaterial3: useMaterial3,
brightness: dark ? Brightness.dark : Brightness.light,
colorSchemeSeed: const Color(0xff6750a4),
),
home: const PopupMenuButtonSample(),
);
}
}
class PopupMenuButtonSample extends StatelessWidget {
const PopupMenuButtonSample({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text(' PopupMenuButton Sample'),
),
body: Center(
child: PopupMenuButton<Fruits>(
onSelected: (Fruits result) {},
onCanceled: () {},
itemBuilder: (BuildContext context) => <PopupMenuEntry<Fruits>>[
const PopupMenuItem<Fruits>(
value: Fruits.mango,
child: Text('Mango'),
),
const PopupMenuItem<Fruits>(
value: Fruits.apple,
child: Text('Apple'),
),
const PopupMenuItem<Fruits>(
value: Fruits.banana,
child: Text('Banana'),
),
const PopupMenuItem<Fruits>(
value: Fruits.straberry,
enabled: false,
child: Text('Strawberry'),
),
const PopupMenuDivider(),
const CheckedPopupMenuItem<Fruits>(
value: Fruits.all,
child: Text('All of the above'),
),
],
),
),
);
}
}
Screen.Recording.2022-05-11.at.10.09.45.mov
Solution
Ignore pointer on child ListTile and add a cursor parameter that passed as super
Metadata
Metadata
Assignees
Labels
a: mouseIssues related to using a mouse or mouse supportIssues related to using a mouse or mouse supportf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.r: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer version
Type
Projects
Status
Done (PR merged)