Sobes.tech
Junior — Middle

Quais são as principais diferenças entre os componentes Material e Cupertino no contexto do desenvolvimento de interfaces de usuário?

sobes.tech IA

Resposta da IA

Em Flutter, os componentes Material e Cupertino representam dois conjuntos de widgets destinados a diferentes plataformas e estilos de design:

  • Material: é um conjunto de widgets baseado no design Google Material Design, usado principalmente em aplicações Android. Caracteriza-se por cores vibrantes, sombras, animações e elementos de interface específicos (por exemplo, FloatingActionButton, AppBar).

  • Cupertino: é um conjunto de widgets que imitam o estilo iOS (Apple). Possuem um design mais minimalista e plano, típico do iPhone e iPad, com elementos como CupertinoNavigationBar, CupertinoButton.

Principais diferenças:

  • Estilo visual e animações compatíveis com a plataforma.
  • Comportamento dos elementos de controle (por exemplo, interruptores, botões).
  • Uso de acordo com a plataforma alvo para criar uma experiência de usuário nativa.

Exemplo de uso:

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

Widget build(BuildContext context) {
  if (Theme.of(context).platform == TargetPlatform.iOS) {
    return CupertinoButton(
      child: Text('Нажми меня'),
      onPressed: () {},
    );
  } else {
    return ElevatedButton(
      child: Text('Нажми меня'),
      onPressed: () {},
    );
  }
}