Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
231 of 502 menu
◀ ▶

Функция darkColorScheme

Функция darkColorScheme возвращает ColorScheme для тёмного интерфейса. Параметры те же, что у lightColorScheme: primary, onPrimary, background, surface. Функция только создаёт объект цветов, экран рисуют внутри MaterialTheme.

Синтаксис

val scheme = darkColorScheme( primary = Color(0xFFBB86FC), background = Color(0xFF121212), )

Параметры

Параметр Описание
primary Акцент на тёмном фоне. Тип - Color.
onPrimary Контрастный цвет поверх primary.
background Общий фон экрана в тёмной теме.
surface Фон панелей и карточек чуть светлее background.

Пример

Давайте обернём экран в тёмную схему по умолчанию:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.darkColorScheme import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MaterialTheme(colorScheme = darkColorScheme()) { Box( modifier = Modifier .fillMaxSize() .background(MaterialTheme.colorScheme.background), ) { Text(text = "abcde") } } } } }

На экране фон станет тёмным, текст "abcde" - светлым из темы.

Пример

Давайте зададим свой primary на тёмном surface:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.darkColorScheme import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val scheme = darkColorScheme( primary = Color(0xFF80CBC4), onPrimary = Color.Black, surface = Color(0xFF1E1E1E), ) MaterialTheme(colorScheme = scheme) { Box( modifier = Modifier .fillMaxSize() .background(MaterialTheme.colorScheme.surface), ) { Text( text = "12345", color = MaterialTheme.colorScheme.primary, ) } } } } }

На экране фон будет тёмно-серым, текст "12345" - бирюзовым primary.

Смотрите также

  • функция lightColorScheme,
    которая собирает светлую палитру
  • функция dynamicDarkColorScheme,
    которая берёт цвета обоев на Android 12
  • функция MaterialTheme,
    которая применяет colorScheme к экрану
  • метод copy,
    который меняет отдельные цвета схемы
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить