いちの
こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです
この記事を読んでわかること
- ステップ入力(Stepper)の基本的な使い方
- 実践的なアンケート画面の作成方法
開発環境
- Dart 3.0.0
- Flutter 3.10.0
目次
ステップ入力の基本実装
概要
ステップ入力(Stepper)は、ユーザーが順序立てて情報を入力できるようにするウィジェットです。Flutterでは、Stepper
ウィジェットを使用してこの機能を簡単に実装できます。
サンプルコード
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: StepperDemo(),
);
}
}
class StepperDemo extends StatefulWidget {
@override
_StepperDemoState createState() => _StepperDemoState();
}
class _StepperDemoState extends State<StepperDemo> {
int _currentStep = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('ステップ入力デモ'),
),
body: Stepper(
currentStep: _currentStep,
onStepContinue: () {
if (_currentStep < 2) {
setState(() {
_currentStep += 1;
});
}
},
onStepCancel: () {
if (_currentStep > 0) {
setState(() {
_currentStep -= 1;
});
}
},
steps: [
Step(
title: Text('ステップ 1'),
content: Text('ここにステップ 1 の内容が入ります。'),
),
Step(
title: Text('ステップ 2'),
content: Text('ここにステップ 2 の内容が入ります。'),
),
Step(
title: Text('ステップ 3'),
content: Text('ここにステップ 3 の内容が入ります。'),
),
],
),
);
}
}
サンプルコードの解説
- 5行目:
MyApp
クラスがアプリケーションのルートウィジェットです。 - 14行目:
StepperDemo
はステップ入力を実装するためのStatefulWidget
です。 - 20行目:
_currentStep
変数は現在のステップを追跡します。 - 28行目:
Stepper
ウィジェットを使用して、ステップ入力を表示します。 - 29行目:
currentStep
プロパティに_currentStep
を設定して、現在のステップを指定します。 - 30-43行目:
onStepContinue
とonStepCancel
でステップの進行と戻る動作を制御します。 - 44-57行目:
steps
プロパティでステップの内容を定義します。各Step
ウィジェットにはタイトルと内容が含まれます。
動作確認
それでは、動作を確認してみましょ〜
実践的なアンケート画面の作成
概要
次に、実践的なアンケート画面を作成する方法を見ていきましょう。アンケート画面では、ユーザーからのフィードバックを効率的に収集するために、複数の質問をステップ形式で提示します。
サンプルコード
import 'package:flutter/material.dart';
void main() => runApp(SurveyApp());
class SurveyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SurveyStepper(),
);
}
}
class SurveyStepper extends StatefulWidget {
@override
_SurveyStepperState createState() => _SurveyStepperState();
}
class _SurveyStepperState extends State<SurveyStepper> {
int _currentStep = 0;
List<String> _answers = ['', '', ''];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('アンケート'),
),
body: Stepper(
currentStep: _currentStep,
onStepContinue: () {
if (_currentStep < _answers.length - 1) {
setState(() {
_currentStep += 1;
});
}
},
onStepCancel: () {
if (_currentStep > 0) {
setState(() {
_currentStep -= 1;
});
}
},
steps: [
Step(
title: Text('質問 1'),
content: TextFormField(
initialValue: _answers[0],
onChanged: (value) {
_answers[0] = value;
},
decoration: InputDecoration(labelText: 'あなたの趣味は何ですか?'),
),
),
Step(
title: Text('質問 2'),
content: TextFormField(
initialValue: _answers[1],
onChanged: (value) {
_answers[1] = value;
},
decoration: InputDecoration(labelText: '好きな食べ物は何ですか?'),
),
),
Step(
title: Text('質問 3'),
content: TextFormField(
initialValue: _answers[2],
onChanged: (value) {
_answers[2] = value;
},
decoration: InputDecoration(labelText: '旅行で行きたい場所はどこですか?'),
),
),
],
),
);
}
}
サンプルコードの解説
- 5行目:
SurveyApp
クラスがアプリケーションのルートウィジェットです。 - 14行目:
SurveyStepper
はアンケート画面を実装するためのStatefulWidget
です。 - 20行目:
_currentStep
変数は現在のステップを追跡します。 - 21行目:
_answers
配列はユーザーの回答を格納します。 - 31-44行目:
onStepContinue
とonStepCancel
でステップの進行と戻る動作を制御します。 - 45-76行目: 各ステップには
TextFormField
を使用して質問を表示し、ユーザーからの入力を受け取ります。入力された回答は_answers
配列に保存されます。
動作確認
それでは、動作を確認してみましょ〜
パスワードや電話番号入力の際、入力した値を非表示にすることにご興味のある読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。
【Flutter】テキスト入力フォーム(TextField)の作成方法を学び。入力された値を非表示にするまでの完全…
こんばんは〜弊社ブログに辿り着いていただきありがとうございます!株式会社メモリアインクのいちのです この記事を読んでわかること テキスト入力フォーム(TextField)…
まとめ
いかがでしたでしょうか?今回は、ステップ(Stepper)入力の基本実装から実践的なアンケート画面の作成方法について、サンプルコードを用いて解説してみました。読者様の開発の手助けに少しでもなればいいなと思いこの記事を書かせていただいております。弊社ではAndroid、iOS、Flutterを使ったアプリ開発についてのブログを多数投稿させていただいておりますので、ご興味のある方はぜひ!
自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
コメント
コメント一覧 (1件)
[…] 【Flutter】ステップ(Stepper)入力の基本実装から実践的なアンケート画面の作… […]