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

Функция Image

Функция Image рисует изображение на экране. Источник передают в параметр painter, подпись для доступности - в contentDescription. Как картинка впишется в область, задаёт ContentScale в параметре contentScale, оттенок - через ColorFilter в параметре colorFilter.

Синтаксис

Image( painter = painterResource(R.drawable.picture), contentDescription = "abcde", )

Параметры

Параметр Описание
painter Объект, который знает, как нарисовать картинку. Принимает значение класса Painter.
contentDescription Краткое описание для TalkBack. Для декора можно передать null.
alignment Куда сдвинуть картинку внутри области, если она меньше или больше ячейки. Принимает значение класса Alignment.
contentScale Как масштабировать картинку под размер области. Принимает значение класса ContentScale.
alpha Прозрачность от 0f до 1f.
colorFilter Фильтр цвета поверх картинки. Принимает значение класса ColorFilter.

Пример

Давайте покажем файл из каталога drawable. Картинку положите в res/drawable/picture.png:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.ui.res.painterResource class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Image( painter = painterResource(R.drawable.picture), contentDescription = "abcde", ) } } }

На экране появится картинка из ресурса R.drawable.picture в исходном масштабе.

Пример

Давайте обрежем картинку по области фиксированного размера:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.layout.size import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Image( painter = painterResource(R.drawable.picture), contentDescription = "abcde", modifier = Modifier.size(120.dp), contentScale = ContentScale.Crop, ) } } }

На экране картинка заполнит квадрат 120 dp, лишнее по краям обрежется.

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

  • функция painterResource,
    которая читает Painter из drawable
  • функция Icon,
    которая рисует векторную иконку Material
  • класс ContentScale,
    который задаёт масштаб картинки в области
  • класс Painter,
    который описывает, как нарисовать изображение
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить