Метод 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