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

Функция colorResource

Функция colorResource возвращает Color Compose по id из res/values/colors.xml, например R.color.brand. Учитывает тёмную тему, если цвет переопределён в res/values-night/colors.xml. Вне Compose цвет берут через getColor.

Синтаксис

val brand = colorResource(R.color.brand)

Параметры

Параметр Описание
id Идентификатор цвета R.color. из XML ресурсов.

Пример

Давайте покрасим текст цветом brand:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.ui.res.colorResource import com.example.app.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Text( text = "abcde", color = colorResource(R.color.brand), ) } } }

На экране строка "abcde" будет цвета brand из colors.xml.

Пример

Давайте сравним brand с другим ресурсом:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.material3.Text import androidx.compose.ui.res.colorResource import com.example.app.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Column { Text( text = "abcde", color = colorResource(R.color.brand), ) Text( text = "12345", color = colorResource(R.color.brand), ) } } } }

На экране обе строки окрасятся одним цветом из ресурса brand.

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

  • метод getColor,
    аналог для Context и Resources
  • функция stringResource,
    которая читает строки из values
  • класс Color,
    тип, который возвращает colorResource
  • метод setTint,
    которым красят drawable другим способом
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить