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

Метод weight

Метод weight приёмника ColumnScope расширяет Modifier внутри Column. Параметр weight задаёт долю свободной высоты. Параметр fill решает, растягивать ли элемент на всю выделенную высоту.

Синтаксис

Modifier.weight(1f)

Параметры

Параметр Описание
weight Доля свободной высоты столбца. Чем больше число, тем выше элемент относительно соседей с weight.
fill Если true, элемент занимает всю выделенную высоту. По умолчанию true.

Пример

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

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.material3.Text import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Column(modifier = Modifier.fillMaxHeight()) { Text( text = "abcde", modifier = Modifier.weight(1f), ) Text( text = "12345", modifier = Modifier.weight(2f), ) } } } }

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

Пример

Давайте прижмём текст к началу выделенной области:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.material3.Text import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Column(modifier = Modifier.fillMaxHeight()) { Text(text = "abcde") Text( text = "12345", modifier = Modifier.weight(1f, fill = false), ) } } } }

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

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

  • класс ColumnScope,
    где объявлен метод weight
  • метод weight,
    который делит ширину ряда
  • метод fillMaxHeight,
    который растягивает Column на всю высоту
  • функция Column,
    в лямбде которой вызывают weight
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить