mirror of https://github.com/flutter/samples.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Will Larche
fce0854b7f
|
6 years ago | |
---|---|---|
.. | ||
assets | 6 years ago | |
fonts | 6 years ago | |
lib | 6 years ago | |
README.md | 6 years ago | |
pubspec.yaml | 6 years ago |
README.md
Fortnightly
A Flutter sample app based on the Material study Fortnightly (a hypothetical, online newspaper.) It showcases print-quality, custom typography, Material Theming, and text-heavy UI design and layout.
For info on the Fortnightly Material Study, see: https://material.io/design/material-studies/fortnightly.html
Goals for this sample
- Help you understand how to customize and layout text.
- Provide you with example code for
- Text
- A short app bar (the menu button top left.)
- Avatar images
Widgets / APIs
- BeveledRectangleBorder
- BoxConstraints on Container
- CircleAvatar
- ExactAssetImage
- Fonts
- SafeArea
- Stack
- SingleChildScrollView
- Text
- TextStyle
- TextTheme
The important bits
pubspec.yaml
This file is found in every Flutter project. It's where you define your dependencies including static assets.
Notice
- It has
assets
andfonts
sections. The formatting of .yaml files is particular. Be sure yours has similar indents to this example.
main.dart
The Flutter code that builds the UI.
Notice
- Theming is passed as a parameter in the constructor of
MaterialApp
(theme:
). debugShowCheckedModeBanner
is set tofalse
so you can examine the entire screen as if it were a production app.SafeArea
is the first widget in theScaffold
's body. This corrects layout on screens with notches and virtual home buttons (like iPhone X+).- The entire newspaper article is wrapped in a
SingleChildScrollView
widget which allows it to scroll instead of overflowing. - The
Text
widget with text ' ¬ ' has aTextStyle
that changes one parameter of an inheritedTextStyle
using `.apply(). - The
Text
widget with text 'Connor Eghan' has aTextStyle
created explicitly instead of inheriting from theming. - You can break up long strings in your source files by putting them on multiple lines.
- Fonts are imported with multiple files expressing their weights (Bold, Light, Medium, Regular) but are accessed by a
FontWeight
widget by number like 'FontWeight.w800' for Merriweather-Bold.ttf.
Questions/issues
If you have a general question about JSON serialization in Flutter, the best places to go are:
If you run into an issue with the sample itself, please file an issue in the Flutter samples repo.