前提・実現したいこと
Flutter初心者です。画面遷移を実現したいです。「Navigate with named routes」を参考にしましたが、実装することができませんでした。どこがおかしいのか、どのように修正したらよいのか教えていただきたいです。
画面のRaisedButtonを押し、PlayScrrenに遷移することを実現したいです。
発生している問題・エラーメッセージ
エラーメッセージは出力されておらず、問題の原因を追求することが出来ませんでした。
該当のソースコード
main.dart(遷移前画面)
dart
1import 'package:flutter/cupertino.dart'; 2import 'package:flutter/material.dart'; 3import 'package:flutter_app_2/play_screen.dart'; 4 5void main() { 6 runApp(MyApp()); 7} 8 9class MyApp extends StatelessWidget { 10 11 Widget build(BuildContext context) { 12 return MaterialApp( 13 title: "Image Demo", 14 theme: ThemeData(fontFamily: 'Krona'), 15 initialRoute: '/', 16 routes: { 17 '/play': (context) => PlayScreen(), 18 }, 19中略 20 21 SizedBox( 22 width: 330, 23 child: RaisedButton( 24 child: Padding( 25 padding: EdgeInsets.only(top: 15, bottom: 15), 26 child: Text('PLAY!' 27 style: TextStyle( 28 fontSize: 25, 29 fontWeight: FontWeight.w400, 30 fontFamily: 'Krona' 31 color: Colors.white)), 32 ), 33 color: Color.fromRGBO(220, 20, 60, 0.2), 34 shape: RoundedRectangleBorder( 35 side: BorderSide( 36 color: Color.fromRGBO(220, 20, 60, 0.6), width: 2), 37 ), 38 onPressed: () { 39 Navigator.pushNamed(context, '/play'); 40 }, 41 ), 42 ),
play_screen.dart(遷移後画面)
dart
1import 'package:flutter/material.dart'; 2 3class PlayScreen extends StatelessWidget { 4 5 Widget build(BuildContext context) { 6 return Scaffold( 7 body: Center( 8 child: ElevatedButton( 9 onPressed: () { 10 Navigator.pop(context); 11 }, 12 child: Text('Go back!'), 13 ), 14 ), 15 ); 16 } 17} 18
試したこと
「Navigate to a new screen and back」,「Navigate with named routes」を参考にし、2つの手法でそれぞれ実装を試みました。しかし、どちらも実現することはできまんでした。
補足説明
・両ファイルともにlibフォルダに作成されています。
・main.dartではStack を利用していますが、これは画面遷移が実現できていないことに関係ないと思うので省いています。
・Android StudioでのFlutter開発の際、エラーメッセージが出力されておらず、問題の原因が分からない場合、あなただったらどのようにするかも可能であれば、教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/02 13:23