Sobes.tech
Junior — Middle

Jakie są główne różnice między komponentami Material a Cupertino w kontekście tworzenia interfejsów użytkownika?

sobes.tech AI

Odpowiedź od AI

W Flutterze komponenty Material i Cupertino reprezentują dwa zestawy widżetów przeznaczonych dla różnych platform i stylów projektowania:

  • Material: to zestaw widżetów oparty na Google Material Design, używany głównie w aplikacjach Android. Charakteryzuje się jaskrawymi kolorami, cieniami, animacjami i specyficznymi elementami interfejsu (np. FloatingActionButton, AppBar).

  • Cupertino: to zestaw widżetów naśladujących styl iOS (Apple). Mają bardziej minimalistyczny i płaski design, charakterystyczny dla iPhone'ów i iPadów, z elementami takimi jak CupertinoNavigationBar, CupertinoButton.

Główne różnice:

  • Styl wizualny i animacje dostosowane do platformy.
  • Zachowanie elementów sterujących (np. przełączniki, przyciski).
  • Użycie w zależności od docelowej platformy w celu tworzenia natywnego doświadczenia użytkownika.

Przykład użycia:

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: () {},
    );
  }
}