Material Design: кључни појмови, Material You и Material 3

Аутор: IT Sectr Објављено: 2026-02-21 Време читања: 14 мин

Сазнајте шта је Material Design — Google дизајн систем заснован на принципима материјалности, дубине и прилагодљивости, који обједињује смернице за визуелни језик, анимацију, распоред и компоненте интерфејса. У верзији Material Design 3 (Material You) систем укључује динамичку шему боја на основу позадине уређаја, прилагодљиву типографију и проширене компоненте. Према Google I/O 2024, Material Design користи више од 3 милиона апликација у Google Play-у, што га чини најраспрострањенијим дизајн системом на Android-у.

Главно

  • Material Design — Google дизајн систем, први пут представљен 2014. године, који укључује смернице за визуелни језик, анимацију, компоненте и распоред.
  • Верзија Material 3 (Material You, 2021) увела је динамичке боје — систем аутоматски генерише палету боја на основу позадине уређаја.
  • Material Design је обавезан дизајн систем за Android апликације, препоручен од Google-а за све нове пројекте.
  • Основне компоненте: TopAppBar, BottomNavigation, FAB, Card, Tabs, TextField, Snackbar, BottomSheet.
  • Имплементира се кроз библиотеку Material Components за Android (MDC-Android) и подршку Material у Jetpack Compose-у.

Шта је Material Design?

Material Design (кодно име Project Quantum) — Google дизајн систем, први пут најављен на Google I/O 2014 и први пут имплементиран у Android 5.0 Lollipop-у. Циљ Material Design-а је стварање јединственог визуелног језика за све Google производе и Android апликације, заснованог на физичким својствима папира и мастила — „материјалу”. За разлику од равног дизајна (Flat Design), Material Design додаје физичку дубину, сенке, слојеве и реалистичну анимацију.

Од 2014. године, Material Design је прошао кроз три велике верзије: Material 1 (2014) — оригиналне смернице са картицама и Floating Action Button; Material 2 (2018) — поједностављење визуелног језика, повећани размаци, акценат на типографију; Material 3 / Material You (2021) — динамичка шема боја генерисана на основу позадине уређаја, персонализација. Према Google Play Console (2024), 78% од топ 1000 апликација Google Play-а користи Material Components за Android.

Material Design није само UI-kit, већ потпун дизајн систем: смернице за приступачност (a11y), анимацију (Motion), прилагодљиве распореде (Responsive Layout), компоненте (TopAppBar, BottomNavigation, Navigation Drawer), типографију (Material Type Scale) и иконографију (Material Symbols). У IT Sectr-у користимо Material Design као основни дизајн систем за Android пројекте од 2014. године, прилагођавајући га бренду клијента кроз Material Theme Builder.

Основни принципи Material Design-а: материјалност, дубина, покрет

Материјалност (Material as Metaphor) — кључни принцип Material Design-а, који позајмљује физичка својства папира: материјал има површину, дебљину (1dp), баца сенку (Elevation) и заузима простор (Bounds). Елементи интерфејса — картице, дугмад, панели — понашају се као физички објекти: подижу се при притиску (ripple ефекат), преклапају се (Z-оса) и анимирају се при појављивању (motion).

Дубина (Depth) се ствара кроз Elevation — својство материјала које одређује његов положај на Z-оси. Што је Elevation веће (8dp, 16dp), то је већа сенка коју елемент баца. Картица има Elevation 1–2dp, FAB — 6dp, Modal BottomSheet — 16dp. Дубина се користи за преношење хијерархије: модални прозори и дијалози су увек изнад садржаја, Navigation Drawer — изнад Action Bar-а. Дубина замењује тродимензионалну перспективу равним Z-слојем, чувајући перформансе рендеровања.

Покрет (Motion) — анимација у Material Design-у није декоративна, већ функционална. Анимација треба: 1) да усмери пажњу корисника (отварање картице са детаљима), 2) да објасни просторне односе (AppBar се претвара у TopAppBar при скроловању), 3) да обезбеди глаткоћу прелаза (shared element transition између екрана). Према Google Material Guidelines (2024), анимација не треба да прелази 300ms за микроинтеракције и 500ms за прелазе између екрана — дуже анимације се доживљавају као кашњење.

Material You (Material Design 3): динамичке боје и персонализација

Material You (Material Design 3) — највеће ажурирање дизајн система, представљено 2021. године заједно са Android 12. Главна иновација — динамичке боје (Monet): систем аутоматски издваја 5 кључних боја из позадине уређаја и генерише комплетну палету боја од 15 тонова (primary, secondary, tertiary, error са њиховим light/dark варијантама) са израчунатим односима контраста WCAG AA.

Модел боја Material You је изграђен на бази HCT (Hue, Chroma, Tone) — простор боја који је развио Google, а који комбинује људску перцепцију (Hue) са засићењем (Chroma) и осветљеношћу (Tone). За разлику од HSL/HSV, HCT гарантује да сви генерисани тонови имају одређени контраст на белој и црној позадини. Google Material Guidelines (2024) препоручује коришћење само тоналних варијанти главне палете за текст, surface тонова за позадину и primary-container за акцентне површине.

Корисник може изабрати једну од 4 шеме персонализације: TonalSpot (главна боја из позадине), Vibrant (најзасићенија боја), Expressive (додатне живе боје), Neutral (монохроматска гама). Material Theme Builder (material-foundation.github.io) омогућава извоз Material 3 теме у XML, Compose Theme, CSS, па чак и Figma додатак.

Material Components за Android: имплементација кроз XML и Compose

Material Components за Android (MDC-Android) — званична Google библиотека која пружа готове View компоненте усклађене са смерницама Material Design-а. За XML распоред, библиотека је доступна кроз зависност com.google.android.material:material, тренутна верзија за јун 2026 — 1.12.0.

XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.MaterialToolbar
        android:id="@+id/topAppBar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:title="@string/app_name"
        app:menu="@menu/main_menu" />

    <com.google.android.material.card.MaterialCardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardElevation="2dp"
        app:strokeWidth="1dp"
        app:strokeColor="@color/outline">

        <LinearLayout android:orientation="vertical" ...>
            <com.google.android.material.textfield.TextInputLayout
                style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:endIconMode="clear_text">
                <com.google.android.material.textfield.MaterialAutoCompleteTextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/city_hint" />
            </com.google.android.material.textfield.TextInputLayout>

            <com.google.android.material.button.MaterialButton
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/Widget.Material3.Button.MaterialYou"
                android:text="@string/submit" />
        </LinearLayout>
    </com.google.android.material.card.MaterialCardView>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"
        app:layout_anchor="@id/topAppBar"
        app:layout_anchorGravity="bottom|end" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Пример приказује Material екран са MaterialToolbar (TopAppBar), MaterialCardView са прилагођеним размацима и ивицом, TextInputLayout са падајућом листом и MaterialButton у Material3 стилу. FAB је причвршћен за Toolbar као сидро — стандардна шема за master-detail интерфејсе.

Kotlin (Compose)
@Composable
fun MaterialYouScreen() {
    val colorScheme = MaterialTheme.colorScheme

    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text("Material You") },
                colors = TopAppBarDefaults.topAppBarColors(
                    containerColor = colorScheme.primaryContainer,
                    titleContentColor = colorScheme.onPrimaryContainer
                )
            )
        },
        floatingActionButton = {
            FloatingActionButton(
                onClick = { },
                containerColor = colorScheme.tertiaryContainer
            ) {
                Icon(
                    imageVector = Icons.Default.Add,
                    contentDescription = "Add"
                )
            }
        }
    ) { paddingValues ->
        Column(
            modifier = Modifier.padding(paddingValues)
        ) {
            OutlinedTextField(
                value = "",
                onValueChange = { },
                label = { Text("Град") },
                colors = OutlinedTextFieldDefaults.colors(
                    focusedBorderColor = colorScheme.primary,
                    unfocusedBorderColor = colorScheme.outline
                )
            )
            Button(
                onClick = { },
                modifier = Modifier.fillMaxWidth()
            ) {
                Text("Пошаљи")
            }
        }
    }
}

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MaterialTheme(
                colorScheme = dynamicLightColorScheme(this),
                typography = MaterialTheme.typography
            ) {
                MaterialYouScreen()
            }
        }
    }
}

Код демонстрира Material You тему у Compose-у: dynamicLightColorScheme() аутоматски генерише шему боја на основу позадине уређаја. Scaffold пружа стандардни оквир са TopAppBar и FAB. OutlinedTextField и Button су Material 3 компоненте чије боје долазе из динамичког colorScheme-а. При промени позадине, све боје апликације се аутоматски ажурирају — персонализација без измене кода.

Material Design на iOS-у: Material Components за iOS

Material Components за iOS (MDC-iOS) — библиотека која пружа изворне UIKit компоненте које имплементирају Material Design на iOS-у. Пошто iOS има сопствени дизајн систем (Human Interface Guidelines), Material компоненте на iOS-у се ређе користе, али су потребне у вишеплатформским апликацијама где се захтева јединствени визуелни стил између Android-а и iOS-а.

MDC-iOS укључује AppBar, BottomNavigation, Cards, Chips, Dialogs, Snackbar, Tabs и TextFields стилизоване по Material Design-у. Библиотека је доступна кроз CocoaPods (pod 'MaterialComponents') и Swift Package Manager. Apple Human Interface Guidelines (2024) не препоручује потпуну замену изворних UIKit компоненти Material аналогима, али дозвољава коришћење Material компоненти за прилагођене интерфејсе под условом очувања изворне навигације (NavigationStack, UITabBarController).

У IT Sectr-у користимо Material Components на iOS-у само за апликације које се преносе са Android-а (вишеплатформски пројекти са Flutter-ом или Kotlin Multiplatform-ом). За изворне iOS апликације следимо HIG и користимо UIKit/SwiftUI са прилагођеном стилизацијом под бренд клијента. Према анкети Swift Community (2024), Material Components за iOS користи 8% програмера, углавном у хибридним пројектима.

Material Design наспрам других дизајн система

Material Design — није једини дизајн систем на тржишту. Највећи конкуренти: Apple Human Interface Guidelines (iOS/macOS), Fluent Design (Microsoft), Carbon (IBM), Polaris (Shopify), Lightning (Salesforce). Сваки систем је оптимизован за своју платформу: Material Design — за Android, HIG — за iOS, Fluent — за Windows. Избор дизајн система одређен је циљном платформом и екосистемом.

КарактеристикаMaterial DesignApple HIGFluent Design
ПлатформаAndroid, Web, FlutteriOS, macOS, watchOS, tvOSWindows 10/11, .NET MAUI
Систем бојаHCT (Hue-Chroma-Tone)Семантички + акцентна бојаАкрилни + Reveal highlight
ТипографијаMaterial Type Scale (13 стилова)SF Pro (9 стилова)Segoe UI Variable
ПерсонализацијаDynamic color (Monet)Није предвиђенаПодешавање акцентне боје
АнимацијаMotion систем (300–500ms)UIKit spring анимацијеFluent Motion (Fluent 2)
Open sourceДа (GitHub, Apache 2.0)Не (затворен)Да (GitHub, MIT)

Главна предност Material Design-а — отвореност и вишеплатформска подршка. Смернице, компоненте и алати (Material Theme Builder) доступни су бесплатно, што систем чини популарним међу стартапима и независним програмерима. Apple HIG је чврсто везан за Apple екосистем, али обезбеђује најбољу усклађеност са платформским очекивањима корисника. За вишеплатформске пројекте, Material Design је оптималан избор захваљујући Flutter-у и Jetpack Compose Multiplatform-у.

Често постављана питања

Да ли је обавезно користити Material Design за Android апликације?

Технички — не, Google не захтева обавезно коришћење Material Components. Препорука — да, Material Design је део Compatibility Test Suite (CTS) и Android Design Guidelines. Апликације које не користе Material компоненте могу бити мање конзистентне са системским апликацијама Android-а. Google Play Console не одбија апликације због одбијања Material Design-а, али корисници очекују познате обрасце — FAB, BottomNavigation, TopAppBar.

Како прилагодити Material Design бренду?

Material Theme Builder (material-foundation.github.io) омогућава учитавање логотипа бренда и генерисање прилагођене теме у 3 клика. Алат издваја кључне боје, генерише палету од 15 тонова и извози тему у XML, Compose и Figma. Додатно се може подесити типографија (Material Type Scale) и облик компоненти (Shape scheme) — заобљење углова за картице, дугмад и дијалоге. Прилагођавање не сме да наруши основна правила Material Design-а (контраст, Elevation, Motion).

Шта је Dynamic Color и како функционише?

Dynamic Color (Monet) — механизам Android 12+ који аутоматски генерише шему боја апликације на основу позадине уређаја. Систем анализира доминантне боје позадине кроз K-means алгоритам, претвара их у HCT простор, генерише 5 основних тонова (primary, secondary, tertiary, neutral, error) и 3 варијанте сваког (container, on-container, fixed). Програмер треба само да позове dynamicLightColorScheme() у Compose-у или примени DynamicColors.applyToActivity() у XML-у, и све Material 3 компоненте ће аутоматски преузети нове боје.

Да ли су Material Design и SwiftUI компатибилни?

Директан порт Material Design-а за SwiftUI не постоји. Material Components за iOS су написани у UIKit-у. За SwiftUI се могу користити прилагођени View модификатори који репродукују Material стилове (material сенке кроз .shadow(), висина кроз .zIndex(), ripple ефекат кроз .hoverEffect()). За вишеплатформске пројекте у Flutter-у, Material Design је уграђен изворно — Flutter садржи потпуну имплементацију Material 3 у пакету flutter/material.dart.

Како су Material Design и Material You повезани?

Material You је маркетиншки назив за Material Design 3 (верзија 3). То није засебан систем, већ највеће ажурирање Material Design-а, представљено 2021. године. Укључује динамичке боје (Monet), прилагодљиву типографију (Material Type Scale v2), нове компоненте (NavigationBar уместо BottomNavigation, NavigationRail) и ажуриране смернице за приступачност. Термин Material You наглашава персонализацију — интерфејс се „прилагођава вама” кроз Dynamic Color.

Резиме

  • Material Design — Google дизајн систем (2014) са три верзије: оригинална (2014), Material 2 (2018), Material 3 / Material You (2021).
  • Три кључна принципа: материјалност (физичка својства површина), дубина (Elevation на Z-оси), покрет (функционална анимација 300–500ms).
  • Material You је увео Dynamic Color (Monet) — аутоматско генерисање шеме боја из позадине уређаја са HCT простором боја.
  • Material Components за Android (MDC-Android) — званична библиотека са имплементацијом свих компоненти у XML и Jetpack Compose-у.
  • Material Design је доступан за iOS кроз MDC-iOS (UIKit), али се ређе користи — Apple HIG остаје главни систем за iOS.
  • Material Theme Builder омогућава прилагођавање система бренду са извозом у XML, Compose и Figma.
  • Material Design је најраспрострањенији дизајн систем: 78% топ 1000 Google Play апликација користи Material Components.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође