Home Flutter Cara menggunakan font dengan mudah menggunakan GoogleFonts di flutter

Cara menggunakan font dengan mudah menggunakan GoogleFonts di flutter

0
Cara menggunakan font dengan mudah menggunakan GoogleFonts di flutter

Bismillah, baik disini kita akan belajar flutter tentang penggunaan GoogleFonts dalam aplikasi flutter kita. Jadi kenapa kita menggunakan googlefonts itu karena terddapat fitur-fitur dimana teman-teman bisa menggunakan font yang diperlukan tanpa harus import satu-satu.

Langkah pertama silahkan buat proyek flutternya lalu di pubspec.yaml nya

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  google_fonts: ^2.0.0

Oke, di file main.dart nya kita buat jangan lupa untuk di import packagenya

import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Google Font"),
      ),
      body: SizedBox(
        child: Column(
          children: <Widget>[
            Text(
              'Hallo aku adalah font  yang di set secara langsung',
              style: GoogleFonts.lobster(color: Colors.red, fontSize: 25),
            ),
            // style: GoogleFonts.pacifico(fontSize: 30, color: Colors.red)),
          ],
        ),
      ),
      // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Maka hasilnya akan seperti ini

Kemudian ketika kita ingin mengatur semua font nya jadi satu font bisa ditambahkan di kelas materialApp nya, jadi nanti semua font yang tidak di set oleh GoogleFonts maka akan mengikuti font di themenya ini

theme: ThemeData(textTheme: GoogleFonts.flavorsTextTheme()

Kemudian ketika kita ingin nihh memilih suatu text agar tidak ikut ke set di theme nya caranya dengan di property theme nya kita tambahin .copyWith dan bodyText1 ini ibartnya sebagai kunci nya yang akan kita pilih nantinya teks mana saja yang perlu kita kasih kunci tersebut

 theme: ThemeData(
        textTheme: GoogleFonts.flavorsTextTheme().copyWith(
            bodyText1:
                GoogleFonts.fascinate(fontSize: 20, color: Colors.blueAccent)),
      ),

Cara ambil kunci nya dengan

 Text(
              'Hallo aku adalah font yang di set sesuai bodytext1',
              style: Theme.of(context)
                  .textTheme
                  .bodyText1 //diambil dari main.dart
                  .copyWith(),
            ),

            Text(
              'Hallo aku adalah font yang di set sesuai bodytext1 dan di set warnanya',
              style: Theme.of(context)
                  .textTheme
                  .bodyText1 //diambil dari main.dart
                  .copyWith(color: Colors.yellow[600]),
            ),

Untuk full source codenya seperti ini

// import 'dart:html';

import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        textTheme: GoogleFonts.flavorsTextTheme().copyWith(
            bodyText1:
                GoogleFonts.fascinate(fontSize: 20, color: Colors.blueAccent)),
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Google Font"),
      ),
      // drawer: Drawerku(),
      body: SizedBox(
        child: Column(
          children: <Widget>[
            Text(
              'Hallo aku adalah font yang di set sesuai bodytext1',
              style: Theme.of(context)
                  .textTheme
                  .bodyText1 //diambil dari main.dart
                  .copyWith(),
            ),

            Text(
              'Hallo aku adalah font yang di set sesuai bodytext1 dan di set warnanya',
              style: Theme.of(context)
                  .textTheme
                  .bodyText1 //diambil dari main.dart
                  .copyWith(color: Colors.yellow[600]),
            ),

            Text('Hallo aku adalah font yang di set di texttheme nya'),
            SizedBox(
              height: 10,
            ),
            Text(
              'Hallo aku adalah font yang di set di texttheme nya dan saya kasih warna sendiri',
              style: TextStyle(color: Colors.deepPurpleAccent),
            ),
            SizedBox(
              height: 10,
            ),
            Text(
              'Hallo aku adalah font  yang di set secara langsung',
              style: GoogleFonts.lobster(color: Colors.red, fontSize: 25),
            ),
            // style: GoogleFonts.pacifico(fontSize: 30, color: Colors.red)),
          ],
        ),
      ),
      // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Catatan Penting : font ini akan bekerja jika si emulator itu terhubung ke internet ya hehehh, sekian terima kasih, Wassalamualaikum….