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

Метод aspectRatio

Метод aspectRatio интерфейса Modifier связывает ширину и высоту одним числом: ширина делится на высоту. Параметр matchHeightConstraintsFirst выбирает, какую ось считать главной при нехватке места.

Синтаксис

Modifier.aspectRatio(2f)

Параметры

Параметр Описание
ratio Отношение ширины к высоте. Значение 2 даёт блок в два раза шире, чем высок.
matchHeightConstraintsFirst Если true, сначала подстраивают ширину под высоту. Иначе наоборот.

Пример

Давайте зададим широкий блок с текстом:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.background import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth 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 { Text( text = "abcde", modifier = Modifier .fillMaxWidth() .aspectRatio(2f) .background(Color.LightGray), ) } } }

На экране серая область займёт всю ширину, а высота будет в два раза меньше ширины.

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

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