본문 바로가기

코딩강의/Flutter 로 웹툰 앱 만들기(플러터-노마드코더)

BuildContext개념

1. 부모 <-> 자식간에 데이터를 연결해주는 역할을 한다.

 

context에는 모든 상위 요소들에 대한 정보를 담고 있다.

 

아래 코드를 보면, 부모 클래스인 MeterialApp에서 theme를 지정해 주었고, 하위 클래스인 MyLargeText에서 그 theme를 쓸 수 있게 되었다.

import 'package:flutter/material.dart';

void main() {
  runApp(const App());
}

class App extends StatefulWidget {
  const App({super.key});

  @override
  State<App> createState() => _AppState();
}

class _AppState extends State<App> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        theme: ThemeData(
          textTheme: const TextTheme(
            titleLarge: TextStyle(
              color: Colors.red,
            ),
          ),
        ),
        home: const Scaffold(
            backgroundColor: Color(0xFFF4EDDB),
            body: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  MyLargeText(),
                ],
              ),
            )));
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Text(
      "My Large Title",
      style: TextStyle(
          fontSize: 30, color: Theme.of(context).textTheme.titleLarge?.color),
    );
  }
}

 

결과 화면

'코딩강의 > Flutter 로 웹툰 앱 만들기(플러터-노마드코더)' 카테고리의 다른 글

POMODORO APP 만들기 - User Interface  (0) 2023.07.26
Widget Lifecycle  (0) 2023.07.25
setState  (0) 2023.07.25
Reusable Cards  (0) 2023.07.22
Icons and Transforms  (0) 2023.07.22