https://github.com/flutter/flutter
Flutter Logo (Google): https://flutter.io/
In this video we continue building the Utopian Rocks mobile application. Thus far we've mainly focused on the backend of the application. To allow the application to convey all of the information that we want, we need to change the aesthetics of the list tiles for each contribution. This includes adding minor font changes, category symbols, circular avatars, fuzzy timestamps and a gesture detector among a few other elements.
Much of the design for this application comes from the original utopian.rocks website. As such, it makes sense to recreate the layout and information displayed in the flutter application. This means that the application needs to access assets from both from network sources and local sources.
From left to right, the list tiles contain a circular avatar which is taken from the steemit photos CDN (content delivery network). This circular avatar uses a network image widget which is wrapped in a circular avatar widget. Adding a box decoration element is what allows us to create perfect circles out of these photos. Towards the middle, there is the text; this includes the title of the contribution, the repository and a fuzzy timestamp. On the far right, each contribution has a associated category icon which is fed into the application from a font file.
Flutter doesn't have a decent way of working with SVG files. It does however, have a very nice engine for working with ASCII fonts and code-points. With this functionality, it makes sense to take SVG elements and convert them into a font. In the case of this application, each of the contribution category icons is in a font called utopicons.
The icons take the place of the capital A character all the way up to the Capital P character and this makes it easy for us to know which code-points to use.
Along with this font family, we also want to use a library called timeago to create a set of fuzzy timestamps for each contribution on the list. This makes the timestamps that are being pulled from the utopian.rocks API more readable at a glance.
As pictured above, a longer timestamp showing the date and time can be shrunk down into a single number with a denomination. This timestamp is an approximation and as it grows and shrinks it moves up and down denominations.
The Source Code for this video may be found here: https://github.com/tensor-programming/utopian-rocks-demo/tree/tensor-programming-part-4
Stand Alone Projects:
- Dart Flutter Cross Platform Chat Application Tutorial
- Building a Temperature Conversion Application using Dart's Flutter Framework
- Managing State with Flutter Flux and Building a Crypto Tracker Application with Dart's Flutter Framework
Building a Calculator
- Building a Calculator Layout using Dart's Flutter Framework
- Finishing our Calculator Application with Dart's Flutter Framework
Movie Searcher Application
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 1)
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 2)
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 3, Final)
Minesweeper Game
- Building a Mine Sweeper Game using Dart's Flutter Framework (Part 1)
- Building a Mine Sweeper Game using Dart's Flutter Framework (Part 2)
- Building a Mine Sweeper Game using Dart's Flutter Framework (Part 3)
- Building a Mine Sweeper Game using Dart's Flutter Framework (Part 4, Final)
Weather Application
- Building a Weather Application with Dart's Flutter Framework (Part 1, Handling Complex JSON with Built Code Generation)
- Building a Weather Application with Dart's Flutter Framework (Part 2, Creating a Repository and Model)
- Building a Weather Application with Dart's Flutter Framework (Part 3, RxCommand (RxDart) and Adding an Inherited Widget)
- Building a Weather Application with Dart's Flutter Framework (Part 4, Using RxWidget to Build a Reactive User Interface)
- Localize and Internationalize Applications with Intl and the Flutter SDK in Dart's Flutter Framework
Redux Todo App