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 |