LATIHAN FLUTTER WEEK#2 : Movie CARD & PARSING DATA

LATIHAN FLUTTER WEEK#2 : Movie CARD & PARSING DATA

main.dart

import 'package:flutter/material.dart';
import './page1.dart';

void main(){
  runApp(new MaterialApp(
    home: page1(),
  ));
}

page1.dart

import 'package:flutter/material.dart';
class page1 extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text("Movie Card"),
        ),
        body: SingleChildScrollView(
          child: Container(
            child: new Column(
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/q1ZcgXatgXo58tUO3vEsrJhYSbu.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Spider-Man: Far from Home",
                  xSubtitle: "Peter Parker dan teman-temannya melakukan perjalanan musim panas ke Eropa. Namun, mereka hampir tidak dapat beristirahat - Peter harus setuju untuk membantu Nick…",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

                new customCard(
                  xImage: "https://image.tmdb.org/t/p/w600_and_h900_bestv2/xRWht48C2V8XNfzvPehyClOvDni.jpg",
                  xIcon: Icons.favorite,
                  xIconColor: Colors.pink,
                  xIconSize: 25.0,
                  xTitle: "Alita: Battle Angel",
                  xSubtitle: "Ketika Alita terbangun tanpa ingatan tentang siapa dia di dunia masa depan yang tidak dia kenal, dia ditangkap oleh Ido, seorang dokter yang penuh kasih yang menyadari bahwa di suatu tempat dalam cangkang cyborg yang ditinggalkan ini adalah hati dan jiwa seorang wanita muda dengan luar biasa. lalu.",
                  xCaptionButtonRight: "Favourite",
                  xCaptionButtonLeft: "Detail",
                ),

              ],
            ),
          ),
        ) ,
      );
  }

}

class customCard extends StatelessWidget{

  final IconData xIcon;
  final Color xIconColor;
  final double xIconSize;

  final String xTitle, xSubtitle, xCaptionButtonRight, xCaptionButtonLeft, xImage;

  customCard({
    this.xIcon,
    this.xIconColor,
    this.xIconSize,
    this.xTitle,
    this.xSubtitle,
    this.xCaptionButtonRight,
    this.xCaptionButtonLeft,
    this.xImage,
  });

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Card(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[

            ListTile(
              leading: Image.network(xImage),
              title: Text(xTitle),
              subtitle: Text(xSubtitle),
              trailing: Icon(
                xIcon,
                color: xIconColor,
                size: xIconSize,
              ),
            ),

            ButtonTheme.bar(
              child: ButtonBar(
                children: <Widget>[
                  FlatButton(
                    child: new Text(xCaptionButtonLeft),
                    onPressed: (){},
                  ),
                  FlatButton(
                    child: new Text(xCaptionButtonRight),
                    onPressed: (){},
                  )
                ],
              ),
            ),

          ],
        ),
      ),
    );
  }

}

Parsing Data

Flutter Developer