[Flutter] GridView 위젯

2024. 11. 11. 14:52·Flutter

GridView 위젯

  • 리스트 뷰와 마찬가지로 항목을 나열하는 위젯이지만, 리스트 뷰와 달리 한 줄에 여러 개를 함께 나열할 수 있음 (그리드 형태)
  • 리스트 뷰와 마찬가지로 그리드뷰도 GridView.builder() 생성자를 제공하며,
    • itemCount, itemBuilder 속성을 통해 항목의 개수와 위젯을 지정
    • gridDelegate 속성을 설정해야 함
      • 이 속성에는 SliverGridDelegateWithFixedCrossAxisCount 객체를 지정해줘야 함
      • 해당 객체에서 crossAxisCount 값이 한 줄에 함께 나와야 하는 항목의 개수임
      • 그리드 두 방향을 설정하지 않으면, crossAxisCount는 가로를 가리킴
  • 참고: scrollDirection 속성에 Axis.horizontal을 설정하면, crossAxisCount는 세로 방향을 가리킴

 

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // build가 페인팅 처리함 -> 화면에 그려 줌
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('그리드뷰 위젯 연습'),),
        // 동적인 화면 빌드 -> builder
        body: GridView.builder(
            // 위젯 레이아웃
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 2, // 2개의 열
              crossAxisSpacing: 16, // 가로 방향으로 16만큼 공백
              mainAxisSpacing: 20 // 세로 방향으로 20만큼 공백
            ),
            itemCount: 10,
            itemBuilder: (context, index) {
              return Container(
                color: Colors.blueGrey,
                child: Center(child: Text('index number : $index')),
              );
            }
        ),
      ),
    );
  }
}
// build가 페인팅 처리함 -> 화면에 그려 줌
body: GridView.builder(
    // 위젯 레이아웃
    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
      crossAxisCount: 2, // 2개의 열
      crossAxisSpacing: 16, // 가로 방향으로 16만큼 공백
      mainAxisSpacing: 20 // 세로 방향으로 20만큼 공백
    ),

실행 화면______

'Flutter' 카테고리의 다른 글

[Flutter] 쇼핑 카트 앱 만들어 보기  (3) 2024.11.11
[Flutter] PageView 위젯  (0) 2024.11.11
[Flutter] ListView 사용법과 주요 property  (2) 2024.11.11
[Flutter] GlobalKey란  (0) 2024.11.11
[Flutter] Form 위젯 연습 (피드백 폼 앱)  (0) 2024.11.11
'Flutter' 카테고리의 다른 글
  • [Flutter] 쇼핑 카트 앱 만들어 보기
  • [Flutter] PageView 위젯
  • [Flutter] ListView 사용법과 주요 property
  • [Flutter] GlobalKey란
미로910
미로910
개발자를 꿈꾸는 민경이의 기록 블로그
  • 미로910
    개발 note
    미로910
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 설치 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java 응용
        • 자료구조
        • HTTP
        • JSP 프로그래밍
      • MySQL
        • MySQL 기본
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • 게시판 만들기
      • Git
      • Flutter
        • MVVM 활용
        • 심화 버전
        • 1일 1 Flutter
      • 디자인 패턴의 활용
      • error note
      • My Project
        • [졸작] LLM 기반 특허 유사도 분석 시스템
        • 도서 관리 프로그램 (final project)
        • amigo
        • 친구 매칭 프로그램(FMP)
      • Python
      • 딥러닝
      • 네트워크
      • 공부 노트
        • 연구회
        • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 전체보기
    • -----------------------
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미로910
[Flutter] GridView 위젯
상단으로

티스토리툴바