ContextMenu
右クリック、長押し、キーボードのコンテキストメニューキーでコマンドを開きます。
右クリック、長押し、キーボードのコンテキストメニューキーでコマンドを開きます。
主なプロパティ
| プロパティ | 説明 |
|---|---|
| 表示方法 | スコープがない場合は TRFlutterContextMenuPresenter がアプリのオーバーレイに Tinyrack のメニューコンポーネントを描画します。ネイティブプレゼンターが扱えないプラットフォーム、つまりモバイル、Web、プラグインが登録されていないデスクトップビルドはすべてこれにフォールバックするため、スタイルの当たっていないメニューが残る画面はありません。 |
| システムメニューで省かれるもの | システムメニューは IconData ではなくプラットフォームのビットマップを受け取るため、TRMenuActionElement.icon は Flutter の表示でのみ反映されます。閉じる操作もシステムが握るため、ネイティブメニューが開いたあとの TRContextMenuController.close は何もしません。タイトル、ショートカット、チェックマーク、無効な項目、サブメニューは両方に引き継がれます。 |
| コードから開く | マウスイベントを報告するターミナルのように、副ポインタボタンを自分で消費するサーフェスは TRContextMenuController を渡し、グローバル座標で openAt を呼びます。TRTerminalView.contextMenuItems がまさにこの方式です。 |
デフォルトのコンストラクタはウィジェットを受け取り、常に Flutter が描画します。TRContextMenu.items はメニューを TRMenuElement として記述するため、インストールされた TRContextMenuPresenter がオペレーティングシステムに渡せます。コンポジションルートで TRContextMenuPresenterScope から TRNativeContextMenuPresenter を設定すると、Linux、macOS、Windows でプラットフォームのメニューが表示されます。
インストール
パッケージを追加し、公開ライブラリをインポートしてください。
flutter pub add tinyrack_uiimport 'package:tinyrack_ui/tinyrack_ui.dart';プレイグラウンド
使用方法
import 'package:material_ui/material_ui.dart';
import 'package:tinyrack_ui/tinyrack_ui.dart';
TRContextMenu.items(
items: [TRMenuActionElement(id: 'open', title: 'Open', onPressed: open)],
child: card,
)API
ContextMenu は Flutter のネイティブ状態とコールバックを保ち、Tinyrack トークンを既定値として使用します。