커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
1주차 숙제
앱개발 종합반 - 플러터
1주차
북마크
조*준
댓글
11
추천
0
조회수
44
조회수
44
답변 완료

제가 listview builder 부분을 아무리 생각해도 모르겠어서

답안을 보고 그부분만 복붙을 했어요

// ignore_for_file: avoid_print


import 'package:flutter/foundation.dart';

import 'package:flutter/material.dart';


void main() {

  runApp(MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({Key? key}) : super(key: key);


  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      debugShowCheckedModeBanner: false,

      home: HomePage(), // 홈페이지 보여주기

    );

  }

}


class HomePage extends StatelessWidget {

  const HomePage({Key? key}) : super(key: key);


  @override

  Widget build(BuildContext context) {

    // 음식 사진 데이터

    List<Map<String, dynamic>> dataList = [

      {

        "category": "탑건: 매버릭",

        "imgUrl": "https://i.ibb.co/sR32PN3/topgun.jpg",

      },

      {

        "category": "마녀2",

        "imgUrl": "https://i.ibb.co/CKMrv91/The-Witch.jpg",

      },

      {

        "category": "범죄도시2",

        "imgUrl": "https://i.ibb.co/2czdVdm/The-Outlaws.jpg",

      },

      {

        "category": "헤어질 결심",

        "imgUrl": "https://i.ibb.co/gM394CV/Decision-to-Leave.jpg",

      },

      {

        "category": "브로커",

        "imgUrl": "https://i.ibb.co/MSy1XNB/broker.jpg",

      },

      {

        "category": "문폴",

        "imgUrl": "https://i.ibb.co/4JYHHtc/Moonfall.jpg",

      },

    ];

   


    // 화면에 보이는 영역

    return Scaffold(

      appBar: AppBar(

        title: Text(

          'Moovie Reviews',

          style: TextStyle(fontSize: 25.0, fontWeight: FontWeight.w500),

        ),

        titleTextStyle: TextStyle(color: Color.fromARGB(255, 11, 11, 11)),

        backgroundColor: Colors.white,

        elevation: 0,

        actions: <Widget>[

          IconButton(

            icon: Icon(

              Icons.person_outlined,

              color: Colors.black,

            ),

            onPressed: () {

              // do something

            },

          )

        ],

      ),

      body: SingleChildScrollView(

        child: Column(

          children: [

            Padding(

              padding: const EdgeInsets.all(15.0),

              child: TextField(

                decoration: InputDecoration(

                  labelText: '영화 제목을 검색해주세요',

                  hintText: 'movie name...',

                  labelStyle: TextStyle(color: Colors.redAccent),

                  focusedBorder: OutlineInputBorder(

                    borderRadius: BorderRadius.all(Radius.circular(10.0)),

                    borderSide: BorderSide(width: 1, color: Colors.redAccent),

                  ),

                  enabledBorder: OutlineInputBorder(

                    borderRadius: BorderRadius.all(Radius.circular(10.0)),

                    borderSide: BorderSide(width: 1, color: Colors.redAccent),

                  ),

                  border: OutlineInputBorder(

                    borderRadius: BorderRadius.all(Radius.circular(10.0)),

                  ),

                ),

                keyboardType: TextInputType.text,

              ),

            ),

            Divider(height: 1),

            Expanded(

              child: ListView.builder(

                itemCount: dataList.length,

                itemBuilder: (context, index) {

                  String category = dataList[index]['category'];

                  String imgUrl = dataList[index]['imgUrl'];


                  return Card(

                    child: Stack(

                      alignment: Alignment.center,

                      children: [

                        Image.network(

                          imgUrl,

                          width: double.infinity,

                          height: 200,

                          fit: BoxFit.cover,

                        ),

                        Container(

                          width: double.infinity,

                          height: 200,

                          color: Colors.black.withOpacity(0.5),

                        ),

                        Text(

                          category,

                          style: TextStyle(

                            color: Colors.white,

                            fontSize: 36,

                          ),

                        ),

                      ],

                    ),

                  );

                },

              ),

            ),

          ],

        ),

      ),

    );

  }

}



그런데

스파르타 즉문즉답

이렇게 사진도 없고 하얀 화면만 뜨네요


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴