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

Метод weight

Метод weight приёмника RowScope расширяет Modifier внутри Row. Параметр 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.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Row(modifier = Modifier.fillMaxWidth()) { 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.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Row(modifier = Modifier.fillMaxWidth()) { Text(text = "abcde") Text( text = "12345", modifier = Modifier.weight(1f, fill = false), ) } } } }

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

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

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