Для установки фонового цвета применяется модификатор background(). Есть две версии этой функции. Первая версия:
fun Modifier.background(color: Color, shape: Shape = RectangleShape): Modifier
color
: значение цвета в виде объекта Color
shape
: закрашиваемая форма - объект Shape
. По умолчанию это прямоугольная форма
Вторя версия:
fun Modifier.background( brush: Brush, shape: Shape = RectangleShape, alpha: Float = 1.0f ): Modifier
brush
: применяемая для покрытия цветом кисть в виде объекта Brush
shape
: закрашиваемая форма - объект Shape
. По умолчанию это прямоугольная форма
alpha
: значение прозрачности. Оно должно находится в диапазоне от 0 (полностью прозрачно) до 1 (отсутствие прозрачности)
В данном случае разберем только установку цвета.
В Jetpack Compose цвет представлен классом Color из пакета androidx.compose.ui.graphics..
Есть несколько способов создания цвета. Рассмотрим некоторые:
Color(value)
: в конструктор передается шестнадцатеричное значение цвета. Например
val myColor: Color = Color(0xFF0000FF)
Color(red, green, blue, alpha)
: в конструктор передается числовые значения для каждой отдельной компоненты цвета.
val myColor: Color = Color(red = 0xFF, green = 0xFF, blue = 0xFF, alpha = 0xFF)
Например, зададим фоновый цвет для компонента Text:
package com.example.helloapp import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.background import androidx.compose.foundation.layout.padding import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val myColor = Color(red = 0xF1, green = 0xAA, blue = 0x55, alpha = 0xFF) Text( "Hello METANIT.COM", fontSize=28.sp, modifier = Modifier.background(myColor).padding(30.dp) ) } } }
Также есть ряд встроенных значений:
Color.Black
Color.Blue
Color.Cyan
Color.DarkGray
Color.Gray
Color.Green
Color.LightGray
Color.Magenta
Color.Red
Color.Transparent
Color.White
Color.Yellow
Пример применения:
modifier = Modifier.background(Color.Yellow)