use asset font for app bar and titles
This commit is contained in:
parent
714cea3cd2
commit
614c2a67cc
9 changed files with 39 additions and 6 deletions
BIN
fonts/ConcourseC3-Regular.ttf
Normal file
BIN
fonts/ConcourseC3-Regular.ttf
Normal file
Binary file not shown.
BIN
fonts/ConcourseT3-Regular.ttf
Normal file
BIN
fonts/ConcourseT3-Regular.ttf
Normal file
Binary file not shown.
|
@ -24,6 +24,15 @@ class AvesApp extends StatelessWidget {
|
||||||
brightness: Brightness.dark,
|
brightness: Brightness.dark,
|
||||||
accentColor: Colors.indigoAccent,
|
accentColor: Colors.indigoAccent,
|
||||||
scaffoldBackgroundColor: Colors.grey[900],
|
scaffoldBackgroundColor: Colors.grey[900],
|
||||||
|
appBarTheme: AppBarTheme(
|
||||||
|
textTheme: TextTheme(
|
||||||
|
title: TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
fontFamily: 'Concourse Caps',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
home: HomePage(),
|
home: HomePage(),
|
||||||
);
|
);
|
||||||
|
|
|
@ -38,7 +38,10 @@ class AllCollectionDrawer extends StatelessWidget {
|
||||||
SizedBox(width: 16),
|
SizedBox(width: 16),
|
||||||
Text(
|
Text(
|
||||||
'Aves',
|
'Aves',
|
||||||
style: TextStyle(fontSize: 44),
|
style: TextStyle(
|
||||||
|
fontSize: 44,
|
||||||
|
fontFamily: 'Concourse Caps',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -61,6 +61,7 @@ class SectionHeader extends StatelessWidget {
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey[200],
|
color: Colors.grey[200],
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
|
fontFamily: 'Concourse Caps',
|
||||||
shadows: [
|
shadows: [
|
||||||
Shadow(
|
Shadow(
|
||||||
offset: Offset(0, 2),
|
offset: Offset(0, 2),
|
||||||
|
|
|
@ -37,6 +37,7 @@ class InfoPageState extends State<InfoPage> {
|
||||||
final date = entry.bestDate;
|
final date = entry.bestDate;
|
||||||
final dateText = '${DateFormat.yMMMd().format(date)} – ${DateFormat.Hm().format(date)}';
|
final dateText = '${DateFormat.yMMMd().format(date)} – ${DateFormat.Hm().format(date)}';
|
||||||
final resolutionText = '${entry.width} × ${entry.height}${entry.isVideo ? '' : ' (${entry.megaPixels} MP)'}';
|
final resolutionText = '${entry.width} × ${entry.height}${entry.isVideo ? '' : ' (${entry.megaPixels} MP)'}';
|
||||||
|
final bottomInsets = MediaQuery.of(context).viewInsets.bottom;
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
|
@ -49,7 +50,7 @@ class InfoPageState extends State<InfoPage> {
|
||||||
body: NotificationListener(
|
body: NotificationListener(
|
||||||
onNotification: _handleTopScroll,
|
onNotification: _handleTopScroll,
|
||||||
child: ListView(
|
child: ListView(
|
||||||
padding: EdgeInsets.all(8.0),
|
padding: EdgeInsets.all(8.0) + EdgeInsets.only(bottom: bottomInsets),
|
||||||
children: [
|
children: [
|
||||||
InfoRow('Title', entry.title),
|
InfoRow('Title', entry.title),
|
||||||
InfoRow('Date', dateText),
|
InfoRow('Date', dateText),
|
||||||
|
@ -63,6 +64,7 @@ class InfoPageState extends State<InfoPage> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
resizeToAvoidBottomInset: false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,7 +107,13 @@ class SectionRow extends StatelessWidget {
|
||||||
Expanded(child: Divider(color: Colors.white70)),
|
Expanded(child: Divider(color: Colors.white70)),
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.all(16.0),
|
padding: EdgeInsets.all(16.0),
|
||||||
child: Text(title, style: TextStyle(fontSize: 20)),
|
child: Text(
|
||||||
|
title,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
fontFamily: 'Concourse Caps',
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
Expanded(child: Divider(color: Colors.white70)),
|
Expanded(child: Divider(color: Colors.white70)),
|
||||||
],
|
],
|
||||||
|
@ -124,7 +132,7 @@ class InfoRow extends StatelessWidget {
|
||||||
padding: EdgeInsets.symmetric(vertical: 4.0),
|
padding: EdgeInsets.symmetric(vertical: 4.0),
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
style: DefaultTextStyle.of(context).style,
|
style: TextStyle(fontFamily: 'Concourse'),
|
||||||
children: [
|
children: [
|
||||||
TextSpan(text: '$label ', style: TextStyle(color: Colors.white70)),
|
TextSpan(text: '$label ', style: TextStyle(color: Colors.white70)),
|
||||||
TextSpan(text: value),
|
TextSpan(text: value),
|
||||||
|
|
|
@ -56,7 +56,11 @@ class MetadataSectionState extends State<MetadataSection> {
|
||||||
if (directoryName.isNotEmpty)
|
if (directoryName.isNotEmpty)
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.symmetric(vertical: 4.0),
|
padding: EdgeInsets.symmetric(vertical: 4.0),
|
||||||
child: Text(directoryName, style: TextStyle(fontSize: 18)),
|
child: Text(directoryName,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 18,
|
||||||
|
fontFamily: 'Concourse Caps',
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
...tagKeys.map((tagKey) {
|
...tagKeys.map((tagKey) {
|
||||||
final value = directory[tagKey] as String;
|
final value = directory[tagKey] as String;
|
||||||
|
|
|
@ -99,7 +99,7 @@ class _FullscreenBottomOverlayContent extends StatelessWidget {
|
||||||
final subRowWidth = min(400.0, maxWidth);
|
final subRowWidth = min(400.0, maxWidth);
|
||||||
final date = entry.bestDate;
|
final date = entry.bestDate;
|
||||||
return DefaultTextStyle(
|
return DefaultTextStyle(
|
||||||
style: TextStyle(
|
style: Theme.of(context).textTheme.body1.copyWith(
|
||||||
shadows: [
|
shadows: [
|
||||||
Shadow(
|
Shadow(
|
||||||
color: Colors.black87,
|
color: Colors.black87,
|
||||||
|
|
|
@ -48,3 +48,11 @@ flutter:
|
||||||
|
|
||||||
assets:
|
assets:
|
||||||
- assets/
|
- assets/
|
||||||
|
|
||||||
|
fonts:
|
||||||
|
- family: Concourse
|
||||||
|
fonts:
|
||||||
|
- asset: fonts/ConcourseT3-Regular.ttf
|
||||||
|
- family: Concourse Caps
|
||||||
|
fonts:
|
||||||
|
- asset: fonts/ConcourseC3-Regular.ttf
|
||||||
|
|
Loading…
Reference in a new issue