Flutterのボタンウィジェットプロパティ使い分け

Flutter/Dart

この記事では、Flutterのボタンウィジェットプロパティ使い分けについて書いていきます。

プロパティ

プロパティ名概要・役割コード例
onPressedタップ(クリック)時の処理。 null にするとボタンが無効化(disabled)されます。onPressed: () { print(‘Tap’); }
onLongPress長押し時の処理。 長押しした時だけに実行したい特殊な操作を指定します。onLongPress: () { print(‘Long’); }
onHoverマウスカーソルが乗った/離れた時の処理。 Webやデスクトップ向けアプリで利用されます。onHover: (isHovered) { … }
onFocusChangeフォーカス(選択状態)が当たった/外れた時の処理。 キーボード操作時などの検知に使います。onFocusChange: (hasFocus) { … }
style背景色、文字色、影、形状(角丸)、サイズなど見た目全般を一括設定します。style: ElevatedButton.styleFrom(…)
focusNodeキーボードやゲームパッドからのフォーカス制御を明示的に行う際に指定します。focusNode: myFocusNode
autofocus画面が開いた際に最初からこのボタンにフォーカスを当てるかどうか(true / false)。autofocus: true
clipBehaviorボタンの枠線からはみ出たコンテンツの切り取り(クリッピング)方法を指定します。clipBehavior: Clip.antiAlias

簡単な例

ElevatedButton(
                onPressed: () { print(‘Tap’); }
              )

完全なコードの例

import 'package:flutter/material.dart';

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              print('Tap');
            },
            child: const Text('タップしてください'),
          ),
        ),
      ),
    );
  }
}
タイトルとURLをコピーしました