Showing
4 changed files
with
56 additions
and
0 deletions
| @@ -94,6 +94,20 @@ class _FriendEditRemarkDialogState extends State<FriendEditRemarkDialog> { | @@ -94,6 +94,20 @@ class _FriendEditRemarkDialogState extends State<FriendEditRemarkDialog> { | ||
| 94 | inputFormatters: [ | 94 | inputFormatters: [ |
| 95 | LengthLimitingTextInputFormatter(widget.maxLength), | 95 | LengthLimitingTextInputFormatter(widget.maxLength), |
| 96 | ], | 96 | ], |
| 97 | + contextMenuBuilder: (BuildContext context, | ||
| 98 | + EditableTextState editableTextState) { | ||
| 99 | + // 获取默认的菜单项列表 | ||
| 100 | + List<ContextMenuButtonItem> buttonItems = | ||
| 101 | + editableTextState.contextMenuButtonItems; | ||
| 102 | + | ||
| 103 | + // 例如:只保留“粘贴” (Paste) | ||
| 104 | + buttonItems.removeWhere((item) => | ||
| 105 | + item.type != ContextMenuButtonType.paste); | ||
| 106 | + return AdaptiveTextSelectionToolbar.buttonItems( | ||
| 107 | + anchors: editableTextState.contextMenuAnchors, | ||
| 108 | + buttonItems: buttonItems, | ||
| 109 | + ); | ||
| 110 | + }, | ||
| 97 | decoration: InputDecoration( | 111 | decoration: InputDecoration( |
| 98 | border: InputBorder.none, | 112 | border: InputBorder.none, |
| 99 | hintText: widget.hintText, | 113 | hintText: widget.hintText, |
| @@ -137,6 +137,20 @@ class _EditorCard extends StatelessWidget { | @@ -137,6 +137,20 @@ class _EditorCard extends StatelessWidget { | ||
| 137 | child: TextField( | 137 | child: TextField( |
| 138 | controller: controller.themeNameController, | 138 | controller: controller.themeNameController, |
| 139 | maxLength: 10, | 139 | maxLength: 10, |
| 140 | + contextMenuBuilder: | ||
| 141 | + (BuildContext context, EditableTextState editableTextState) { | ||
| 142 | + // 获取默认的菜单项列表 | ||
| 143 | + List<ContextMenuButtonItem> buttonItems = | ||
| 144 | + editableTextState.contextMenuButtonItems; | ||
| 145 | + | ||
| 146 | + // 例如:只保留“粘贴” (Paste) | ||
| 147 | + buttonItems.removeWhere( | ||
| 148 | + (item) => item.type != ContextMenuButtonType.paste); | ||
| 149 | + return AdaptiveTextSelectionToolbar.buttonItems( | ||
| 150 | + anchors: editableTextState.contextMenuAnchors, | ||
| 151 | + buttonItems: buttonItems, | ||
| 152 | + ); | ||
| 153 | + }, | ||
| 140 | decoration: InputDecoration( | 154 | decoration: InputDecoration( |
| 141 | counterText: '', | 155 | counterText: '', |
| 142 | hintText: context.l10n.watchThemeNameMaxLength, | 156 | hintText: context.l10n.watchThemeNameMaxLength, |
| @@ -72,6 +72,20 @@ class _WatchThemeRenameDialogState extends State<WatchThemeRenameDialog> { | @@ -72,6 +72,20 @@ class _WatchThemeRenameDialogState extends State<WatchThemeRenameDialog> { | ||
| 72 | Expanded( | 72 | Expanded( |
| 73 | child: TextField( | 73 | child: TextField( |
| 74 | controller: _controller, | 74 | controller: _controller, |
| 75 | + contextMenuBuilder: (BuildContext context, | ||
| 76 | + EditableTextState editableTextState) { | ||
| 77 | + // 获取默认的菜单项列表 | ||
| 78 | + List<ContextMenuButtonItem> buttonItems = | ||
| 79 | + editableTextState.contextMenuButtonItems; | ||
| 80 | + | ||
| 81 | + // 例如:只保留“粘贴” (Paste) | ||
| 82 | + buttonItems.removeWhere((item) => | ||
| 83 | + item.type != ContextMenuButtonType.paste); | ||
| 84 | + return AdaptiveTextSelectionToolbar.buttonItems( | ||
| 85 | + anchors: editableTextState.contextMenuAnchors, | ||
| 86 | + buttonItems: buttonItems, | ||
| 87 | + ); | ||
| 88 | + }, | ||
| 75 | maxLength: 4, | 89 | maxLength: 4, |
| 76 | decoration: InputDecoration( | 90 | decoration: InputDecoration( |
| 77 | counterText: '', | 91 | counterText: '', |
| @@ -162,6 +162,20 @@ class _CommonInputDialogViewState extends State<CommonInputDialogView> { | @@ -162,6 +162,20 @@ class _CommonInputDialogViewState extends State<CommonInputDialogView> { | ||
| 162 | focusNode: _focusNode, | 162 | focusNode: _focusNode, |
| 163 | autofocus: true, | 163 | autofocus: true, |
| 164 | maxLines: 1, | 164 | maxLines: 1, |
| 165 | + contextMenuBuilder: (BuildContext context, | ||
| 166 | + EditableTextState editableTextState) { | ||
| 167 | + // 获取默认的菜单项列表 | ||
| 168 | + List<ContextMenuButtonItem> buttonItems = | ||
| 169 | + editableTextState.contextMenuButtonItems; | ||
| 170 | + | ||
| 171 | + // 例如:只保留“粘贴” (Paste) | ||
| 172 | + buttonItems.removeWhere( | ||
| 173 | + (item) => item.type != ContextMenuButtonType.paste); | ||
| 174 | + return AdaptiveTextSelectionToolbar.buttonItems( | ||
| 175 | + anchors: editableTextState.contextMenuAnchors, | ||
| 176 | + buttonItems: buttonItems, | ||
| 177 | + ); | ||
| 178 | + }, | ||
| 165 | inputFormatters: [ | 179 | inputFormatters: [ |
| 166 | LengthLimitingTextInputFormatter( | 180 | LengthLimitingTextInputFormatter( |
| 167 | widget.dialogMetaData.maxLength, | 181 | widget.dialogMetaData.maxLength, |
-
Please register or login to post a comment