[FLUTTER][Project] Theme and Size Settings


Theme and Size


Fluthの開発では、ThemeData、Size部品の属性値をよく受け取り、使用します.
ThemeDataプロパティを使用する場合、またはデバイスのサイズに応じてサイズ値を制御する場合は、使用するファイルごとに以下のように記述する必要があります.
思ったより開発が面倒だった
theme = Theme.of(context);
size = MediaQuery.of(context).size;
次のSize、ThemeDataファイルを生成することで、どこからでもアクセスできます.

_constant/widgets/theme.dart

import 'package:flutter/material.dart';

late Size size;
late ThemeData theme;
MaterialAppのホーム属性に入れます.dartファイルのbuildの下に次のように記述します.
これにより、アプリケーションの任意の部分で使用できます.
null safetyの前であればnull checkをしなければエラーは発生しません(はっきり覚えていません)

main_page.dart

import 'package:flutter/material.dart';
import 'package:flutter_goffer/_constant/widgets/theme.dart';

class MainPage extends StatelessWidget {
  const MainPage({Key? key}) : super(key: key);

  
  Widget build(BuildContext context) {
    size = MediaQuery.of(context).size;
    theme = Theme.of(context);
    return Scaffold(
      appBar: AppBar(
        title: Text('Font 테스트'),
      ),
    );
  }
}