Tinyrack

Menubar

방향키 이동과 중첩 항목을 지원하는 가로 애플리케이션 메뉴를 구성해요.

방향키 이동과 중첩 항목을 지원하는 가로 애플리케이션 메뉴를 구성해요.

핵심 속성

속성설명
구성TRMenubar는 순서가 있는 TRMenubarMenu를 가로로 배치해요. 각 항목은 트리거 하나와 팝업 자식 목록 하나를 가져요.
키보드Material 메뉴 탐색이 상위 트리거와 중첩 메뉴 사이의 방향키 이동을 조정해요. Escape는 열린 메뉴 묶음을 닫아요.
사용 가능 여부TRMenubarMenuenabled: false를 지정하면 다른 메뉴는 유지하면서 해당 명령만 사용할 수 없게 해요.
중첩 레이어menuChildren 안에 TRMenuSubmenu를 넣으세요. 중첩된 각 팝업은 자체 테두리가 있는 레이어 표면을 유지해요.

명령 그룹을 설명하는 semanticLabel을 메뉴바에 지정하세요. 메뉴바와 활성 트리거에는 테두리가 없고 팝업 레이어는 테두리를 유지해요. 초점 항목은 테두리 크기를 바꾸지 않고 배경으로 강조해요.

설치

패키지를 추가한 뒤 공개 라이브러리를 가져오세요.

flutter pub add tinyrack_ui
import 'package:tinyrack_ui/tinyrack_ui.dart';

플레이그라운드

사용법

import 'package:material_ui/material_ui.dart';
import 'package:tinyrack_ui/tinyrack_ui.dart';

TRMenubar(
  semanticLabel: '애플리케이션 메뉴',
  menus: [
    TRMenubarMenu(
      trigger: const Text('파일'),
      menuChildren: [
        TRMenuItem(onPressed: createRack, child: const Text('새 랙')),
        TRMenuItem(onPressed: openRack, child: const Text('열기')),
      ],
    ),
  ],
)

예시

API

TRMenubar 속성

Prop타입 / 기본값용도
menusList<TRMenubarMenu> · required순서가 있는 상위 메뉴를 정의해요.
semanticLabelString? · null보조 기술에 애플리케이션 명령 그룹의 이름을 제공해요.
uiSizeTRUiSize · TRUiSize.md이 바의 모든 메뉴가 기본으로 사용할 컨트롤 크기를 정해요. 제목 표시줄처럼 밀도 높은 애플리케이션 크롬에는 TRUiSize.sm을 사용해요.

TRMenubarMenu 속성

Prop타입 / 기본값용도
triggerWidget · required상위 메뉴 레이블을 렌더링해요.
menuChildrenList<Widget> · required팝업에 표시할 명령, 설정, 구분선, 중첩 메뉴를 제공해요.
enabledbool · true트리거가 메뉴를 열 수 있는지 정해요.
controllerMenuController? · null부모에서 이 메뉴를 열고 닫거나 상태를 확인할 수 있게 해요.
focusNodeFocusNode? · null부모에서 상위 트리거의 초점을 조정할 수 있게 해요.
onOpen / onCloseVoidCallback? · null이 메뉴가 열리고 닫힐 때 알려 줘요.
uiSizeTRUiSize? · null이 트리거에 한해 바가 정한 크기를 재정의해요. 바 전체가 한 크기를 유지하도록 보통은 설정하지 마세요.