Sobes.tech
Junior — Middle

Jaké jsou hlavní rozdíly mezi komponentami Material a Cupertino v kontextu vývoje uživatelských rozhraní?

sobes.tech AI

Odpověď od AI

Ve Flutteru představují komponenty Material a Cupertino dvě sady widgetů navržených pro různé platformy a styly designu:

  • Material: je sada widgetů založená na Google Material Design, která se používá především v Android aplikacích. Vyznačuje se jasnými barvami, stíny, animacemi a specifickými prvky rozhraní (například FloatingActionButton, AppBar).

  • Cupertino: je sada widgetů napodobujících styl iOS (Apple). Mají minimalistický a plochý design, typický pro iPhone a iPad, s prvky jako CupertinoNavigationBar, CupertinoButton.

Hlavní rozdíly:

  • Vizuální styl a animace odpovídající platformě.
  • Chování ovládacích prvků (například přepínače, tlačítka).
  • Použití podle cílové platformy k vytvoření nativního uživatelského zážitku.

Příklad použití:

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