Use when working on accessibility, a11y, WCAG, ARIA, screen readers, keyboard nav, focus order, contrast, alt text, captions, reduced motion, or target sizes; not language/culture/device (see inclusive-design).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building any Flutter screen or component to choose responsive Row, Column, Expanded, Flexible, and Spacer layouts before fixed-size or coordinate-based alternatives.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Build responsive Flutter layouts from the constraint system outward. Prefer simple flex composition and introduce fixed dimensions or overlays only when the design requires them for a concrete purpose.
Column and horizontal groups with Row.build method.Expanded, Flexible, and Spacer to distribute bounded free space.Column for vertical flow and Row for horizontal flow.mainAxisAlignment, crossAxisAlignment, and mainAxisSize.Expanded when a child must fill its allocated share of remaining main-axis space.Flexible when a child may use less than its allocated share.flex only to express proportional allocation. A child with flex: 2 receives twice the free-space share of a sibling with flex: 1.Spacer for flexible separation between siblings. Use SizedBox for deliberate, fixed gaps.Expanded or Flexible inside a Row when it must yield space to siblings.ListView or another scrollable when vertical content can exceed the viewport; Column does not scroll.Wrap when horizontal children should move onto another run instead of shrinking or overflowing.LayoutBuilder, breakpoints, or adaptive widgets when the composition itself must change with available space.SafeArea when content must avoid system intrusions.Avoid these as default layout mechanisms:
Stack with hardcoded Positioned coordinatesContainer, SizedBox, or ConstrainedBox with hardcoded screen-like width or heightUse them when they serve a concrete purpose, such as:
State the purpose in the code structure or a brief comment when it is not obvious.
Expanded and Flexible only under Row, Column, or Flex.Expanded or Flexible, or establish a meaningful finite constraint.Column that needs the outer column's remaining height by wrapping the inner column in Expanded.Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Header(),
const SizedBox(height: 16),
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Flexible(flex: 2, child: PrimaryContent()),
const SizedBox(width: 16),
const Flexible(child: SecondaryContent()),
],
),
),
const SizedBox(height: 16),
const Actions(),
],
),
)
Change this composition at a breakpoint if the horizontal content cannot remain usable on a narrow screen; do not merely squeeze it.
Inspect these diagrams when decomposing a mockup into nested flex layouts:
Row containing a vertical content Column and an image.Row and Column widgets.Use the diagrams as structural references, not as fixed pixel templates.
Stack or Positioned usages have a concrete design reason.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Use when working on accessibility, a11y, WCAG, ARIA, screen readers, keyboard nav, focus order, contrast, alt text, captions, reduced motion, or target sizes; not language/culture/device (see inclusive-design).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when creating a feature, designing folder structure, adding repositories/services/view models, wiring dependency injection, or deciding which layer owns logic.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when creating a Cubit or Bloc, modeling state with sealed classes or status enums, wiring BlocBuilder/BlocListener/BlocProvider, writing bloc tests, or choosing between Cubit and Bloc.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when asked to review a PR, MR, branch, or diff, audit changed files, or check code quality.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when writing switch statements, refactoring if-else chains, creating data classes, choosing records vs classes, destructuring values, or modernizing pre-Dart-3 code.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building AI agents in Dart, implementing Genkit flows or tools, integrating LLMs into Dart or Flutter applications, or using Genkit Dart plugins.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.