現在、Flutterでアプリを開発中のド素人です。
今現在、グリッドレイアウトにてサマリ的な情報が表示されているCardを配置していき、各Cardをタップするとより詳細な情報が表示されるページを作り込んでいるところです。
そこで、調べながら、InkwellというウィジットにてonTapメソッドを実装すると画面遷移が実装できるとのことだったので、以下のようにコーディングしています。(まずは粗々でも動くことを念頭に置いているので細かい規約的なところはご容赦いただければと思います(勿論、勉強になるのでご指摘いただくのは嬉しいです))
InkWell( onTap: () { Navigator.of(context).pushNamed('/book_detail'); }, child: Card( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ AspectRatio( aspectRatio: 18.0 / 11.0, child: Image.asset( 'assets/f_f_object_174_s128_f_object_174_0bg.png.png'), ), Padding( padding: EdgeInsets.fromLTRB(16.0, 12.0, 16.0, 8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Text('Title'), SizedBox(height: 8.0), Text('Secondry Text'), ], ), ), ], ), ), ),
void main() { runApp(new MaterialApp( home: new MyApp(), // becomes the route named '/' routes: <String, WidgetBuilder>{ '/book_detail': (BuildContext context) => new BookDetail(), }, )); class BookDetail extends StatefulWidget { // This widget is the root of your application. @override _BookDetailState createState() => new _BookDetailState(); } class _BookDetailState extends State<BookDetail> { @override Widget build(BuildContext context) { return new Scaffold( appBar: AppBar(title: Text('BookDetail')), body: Container(), ); } }
ここで2つ問題があります。
- Inkwell内の画像が表示されない(assetsフォルダ内に画像があること、pubspec.yamlでPackages getが実施済みであることは確認しています)。
- 画面遷移が機能していない。
恐れ入りますが、どのあたりがまずいのかご指摘いただけないでしょうか。
環境はWindows10+Android Studioです。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/02/17 12:44
2020/02/17 18:41 編集