Класс RowScope
Класс RowScope - приёмник лямбды
функции Row.
Его методы расширяют
Modifier
только внутри этой лямбды.
Через них делят свободную ширину ряда
и выравнивают элементы поперёк ряда.
Синтаксис
Row {
Text(
modifier = Modifier.weight(1f),
text = "abcde",
)
}
Методы
| Метод | Описание |
|---|---|
weight |
Забирает долю свободной ширины ряда у дочернего элемента. |
align |
Выравнивает дочерний элемент поперёк ряда, если у ряда задано иное verticalAlignment. |
alignByBaseline |
Ставит текстовые элементы по общей базовой линии. |
Пример
Давайте отдадим второму тексту всю свободную ширину:
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),
)
}
}
}
}
На экране второй текст займёт место справа от первого до конца ряда.
Смотрите также
-
функция
Row,
где доступен RowScope -
класс
ColumnScope,
приёмник лямбды Column с методом weight -
класс
Alignment,
который задаёт выравнивание поперёк ряда -
метод
fillMaxWidth,
который растягивает Row на всю ширину родителя