Sobes.tech
Junior — Middle

Ինտերֆեյսների զարգացման համատեքստում, ինչ են հիմնական տարբերությունները Material և Cupertino կոմպոնենտների միջև?

sobes.tech AI

Պատասխան AI-ից

Flutter-ում, Material և Cupertino բաղադրիչները ներկայացնում են երկու հավաքածու վիջեթների, որոնք նախագծված են տարբեր հարթակների և դիզայնի ոճերի համար:

  • Material: դա Google Material Design-ի վրա հիմնված վիջեթների հավաքածու է, որը հիմնականում օգտագործվում է Android հավելվածներում: Այն բնութագրվում է պայծառ գույներով, ստվերներով, անիմացիաներով և հատուկ ինտերֆեյսի տարրերով (օրինակ, FloatingActionButton, AppBar):

  • Cupertino: դա վիջեթների հավաքածու է, որը պատճենում է iOS (Apple) ոճը: Դրանք ունեն ավելի մինիմալիստական և հարթ դիզայն, որը բնորոշ է iPhone և iPad-ին, և պարունակում են տարրեր, ինչպիսիք են CupertinoNavigationBar, CupertinoButton:

Հիմնական տարբերությունները՝

  • Վիզուալ ոճը և անիմացիաները համապատասխան հարթակին:
  • Կառավարման տարրերի վարքագիծը (օրինակ, սվիչներ, կոճակներ):
  • Օգտագործումը նպատակային հարթակին համապատասխան՝ ստեղծելու համար բնիկ օգտագործողի փորձ:

Օրինակ՝

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