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

Метод matchParentSize

Метод matchParentSize приёмника BoxScope расширяет Modifier внутри Box. Элемент получает ширину и высоту родителя, но Box по-прежнему измеряется по другим дочерним элементам. Параметров у метода нет.

Синтаксис

Modifier.matchParentSize()

Пример

Давайте растянем фон на всю область, а Box сожмём по тексту:

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.padding import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Box(modifier = Modifier.padding(16.dp)) { Box( modifier = Modifier .matchParentSize() .background(Color.LightGray), ) Text(text = "abcde") } } } }

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

Пример

Давайте сравним с fillMaxSize у внутреннего Box:

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 { Box { Box( modifier = Modifier .fillMaxSize() .background(Color.LightGray), ) Text(text = "12345") } } } }

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

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

  • метод fillMaxSize,
    который участвует в измерении родителя
  • метод align,
    который ставит текст поверх фона
  • класс BoxScope,
    где объявлен matchParentSize
  • функция Box,
    в которой накладывают слои
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить