Esse projeto tem como objetivo apresentar técnicas para personalização do app de acordo com a plataforma (Android e iOS).
Para realizar a navegação padrão de cada guideline (Material e Cupertino), podemos utilizar o MaterialPageRoute e o CupertinoPageRoute.
onTap: defaultTargetPlatform == TargetPlatform.android
? () => Navigator.push(
context,
MaterialPageRoute(
builder: (final _) => const VideoQualityPage()),
)
: () => Navigator.push(
context,
CupertinoPageRoute(
builder: (final _) => const VideoQualityPage()),
),
navegacao_material.webm
navegacao_cupertino.mp4
Alguns widgets possuem o contrutor adaptive, que automaticamente ajustam a sua apresentação conforme a plataforma.
Icon(Icons.adaptive.arrow_back)
Switch.adaptive(activeColor: Colors.blue,
value: true,
onChanged: (bool value) {}),
Ao criar um projeto Flutter, a dependência cupertino_icons é adicionada automaticamente. Com ela podemos apresentar o icone correspondente a plataforma.
defaultTargetPlatform == TargetPlatform.android
? const Icon(
Icons.check,
color: Colors.blue,
)
: const Icon(
CupertinoIcons.check_mark,
color: Colors.blue,
),