body method

  1. @override
String body(
  1. String baseName,
  2. String className
)
override

Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.

実際の本体コードを定義します。pathlibからの相対パス、baseNameにファイル名が渡され、classNameにファイル名をパスカルケースに変換した値が渡されます。

Implementation

@override
String body(String baseName, String className) {
  return r"""
`UniversalColumn`は下記のように利用する。

## 概要

$excerpt

## 利用方法

```dart
UniversalColumn(
  padding: const EdgeInsets.all(16),
  mainAxisAlignment: MainAxisAlignment.center,
  crossAxisAlignment: CrossAxisAlignment.start,
  children: [
      const Text("テキスト1"),
      const SizedBox(height: 16),
      const Text("テキスト2"),
      const SizedBox(height: 16),
      ElevatedButton(
          onPressed: () {
              // TODO: Implement the button action.
          },
          child: const Text("ボタン"),
      ),
  ],
);
```

## プロパティ

- `padding`: カラムの外側の余白を設定する。
- `mainAxisAlignment`: 縦方向の配置を設定する。
- `crossAxisAlignment`: 横方向の配置を設定する。
- `mainAxisSize`: カラムの縦方向のサイズを設定する。
- `children`: カラムに表示するウィジェットのリストを設定する。
- `decoration`: カラムの外側のボーダーなどを設定する。
- `breakpoint`: レスポンシブ対応のブレークポイントを設定する。
- `spacing`: 子ウィジェット間の間隔を設定する。
- `maxWidth`: カラムの最大幅を設定する。
- `minWidth`: カラムの最小幅を設定する。

## 注意点

- デスクトップモードでは、`maxWidth`が適用され、コンテンツが中央に配置される。
- モバイルモードでは、画面幅いっぱいにコンテンツが表示される。
- `spacing`を設定すると、自動的に子ウィジェット間にスペースが追加される。
- `breakpoint`を設定することで、カスタムのレスポンシブ対応が可能。
- `UniversalScaffold`と組み合わせることで、より柔軟なレイアウトが可能。
""";
}