Метод getColor
Метод getColor класса
Resources
читает res/values/colors.xml
и возвращает Int в формате ARGB.
На новых API предпочитают overload
с Resources.Theme для поддержки темы.
В Compose тот же смысл даёт
colorResource.
Синтаксис
resources.getColor(R.color.brand, theme)
Параметры
| Параметр | Описание |
|---|---|
id |
Идентификатор R.color.brand.
|
theme |
Тема для разрешения атрибутов цвета.
Передают resources.newTheme()
или theme context.
|
Пример
Давайте прочитаем brand и передадим в Text:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.ui.graphics.Color
import com.example.app.R
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val argb = resources.getColor(R.color.brand, theme)
setContent {
Text(
text = "abcde",
color = Color(argb),
)
}
}
}
На экране текст "abcde"
окрасится цветом brand.
Смотрите также
-
функция
colorResource,
которая сразу даёт Color Compose -
метод
setTint,
которым красят drawable -
класс
Resources,
источник getColor -
класс
Color,
куда конвертируют int из getColor