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

Метод compositeOver

Метод compositeOver класса Color возвращает итоговый цвет, как если бы текущий оттенок лег поверх переданного фона с учётом альфа-канала. Фон передают параметром background.

Синтаксис

Color.Red.copy(alpha = 0.5f).compositeOver(Color.White)

Параметры

Параметр Описание
background Цвет под текущим слоем. Принимает значение класса Color.

Пример

Давайте зальём экран смешанным оттенком:

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.Text import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val overlay = Color.Red.copy(alpha = 0.4f) val mixed = overlay.compositeOver(Color.White) Box( modifier = Modifier .fillMaxSize() .background(mixed), ) { Text(text = "abcde") } } } }

На экране фон станет светло-розовым, без отдельного полупрозрачного слоя в разметке.

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

  • метод copy,
    который задаёт прозрачность перед смешиванием
  • метод lerp,
    который интерполирует два цвета
  • метод alpha,
    который делает весь элемент полупрозрачным
  • класс Color,
    базовый тип для заливки и текста
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить