Containers
Context Menu
LiqContextMenu composes a LiqContextMenuPreview tile and a LiqMenu
panel. The LiqContextMenuArrangement enum controls whether the menu sits
below or beside the preview, and which edge it aligns to.
Below Leading
// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget contextMenuBelowLeadingBuilder(BuildContext context) { return SnippetFrame( maxWidth: 360, height: 340, child: LiqContextMenu( preview: const LiqContextMenuPreview(size: Size(168, 132)), menu: LiqMenu( children: <Widget>[ LiqMenuItem(label: 'Share', onPressed: () {}), LiqMenuItem(label: 'Copy', onPressed: () {}), LiqMenuItem( label: 'Delete', style: LiqMenuItemStyle.destructive, onPressed: () {}, ), ], ), ), );}
Below Trailing
// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget contextMenuBelowTrailingBuilder(BuildContext context) { return SnippetFrame( maxWidth: 360, height: 340, child: LiqContextMenu( arrangement: LiqContextMenuArrangement.belowTrailing, preview: const LiqContextMenuPreview(size: Size(168, 132)), menu: LiqMenu( children: <Widget>[ LiqMenuItem(label: 'Share', onPressed: () {}), LiqMenuItem(label: 'Copy', onPressed: () {}), LiqMenuItem( label: 'Delete', style: LiqMenuItemStyle.destructive, onPressed: () {}, ), ], ), ), );}
Beside Leading
// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget contextMenuBesideLeadingBuilder(BuildContext context) { return SnippetFrame( maxWidth: 440, height: 260, child: LiqContextMenu( arrangement: LiqContextMenuArrangement.besideLeading, preview: const LiqContextMenuPreview(size: Size(132, 168)), menu: LiqMenu( children: <Widget>[ LiqMenuItem(label: 'Share', onPressed: () {}), LiqMenuItem(label: 'Copy', onPressed: () {}), LiqMenuItem( label: 'Delete', style: LiqMenuItemStyle.destructive, onPressed: () {}, ), ], ), ), );}
Basic
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget contextMenuBasicBuilder(BuildContext context) { return const SnippetFrame(child: ContextMenuBasicExample());}
Disabled Items
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget contextMenuDisabledItemsBuilder(BuildContext context) { return const SnippetFrame(child: ContextMenuDisabledItemsExample());}
Text
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget contextMenuTextBuilder(BuildContext context) { return const SnippetFrame(child: ContextMenuTextExample());}
List Items
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget contextMenuListItemsBuilder(BuildContext context) { return const SnippetFrame(child: ContextMenuListItemsExample());}
Programmatic
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget contextMenuProgrammaticBuilder(BuildContext context) { return const SnippetFrame(child: ContextMenuProgrammaticExample());}