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

Класс ContentScale

Класс ContentScale задаёт, как масштабировать изображение внутри области, которую занимает Image. Значение передают в параметр contentScale. По умолчанию стоит Fit: картинка целиком помещается в область с сохранением пропорций.

Синтаксис

ContentScale.Crop

Значения

Значение Описание
Crop Масштаб с сохранением пропорций так, чтобы область заполнилась целиком. Лишнее по краям обрезается.
Fit Масштаб с сохранением пропорций так, чтобы картинка целиком вошла в область. Могут остаться пустые поля.
FillBounds Растянуть картинку на всю область без сохранения пропорций.
FillHeight Подогнать высоту под область, ширина считается по пропорциям.
FillWidth Подогнать ширину под область, высота считается по пропорциям.
Inside Как Fit, но не увеличивать картинку больше исходного размера.
None Без масштаба, исходный размер в пикселях.

Пример

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

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, ) } } }

На экране картинка заполнит квадрат, края обрежутся по центру области.

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

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