Метод align
Метод align приёмника
BoxScope
расширяет Modifier
внутри Box.
Параметр alignment принимает значение класса
Alignment,
например TopStart или Center.
Синтаксис
Modifier.align(Alignment.TopStart)
Параметры
| Параметр | Описание |
|---|---|
alignment |
Точка области Box, к которой прижимают дочерний элемент. |
Пример
Давайте поставим тексты в противоположные углы:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Text
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(modifier = Modifier.fillMaxSize()) {
Text(
text = "abcde",
modifier = Modifier.align(Alignment.TopStart),
)
Text(
text = "12345",
modifier = Modifier.align(Alignment.BottomEnd),
)
}
}
}
}
На экране первый текст окажется в левом верхнем углу, второй - в правом нижнем.
Пример
Давайте переопределим общее выравнивание Box для одного текста:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Text
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.TopStart,
) {
Text(text = "abcde")
Text(
text = "12345",
modifier = Modifier.align(Alignment.Center),
)
}
}
}
}
На экране первый текст останется в углу, второй встанет в центр области.
Смотрите также
-
класс
Alignment,
где перечислены TopStart и Center -
функция
Box,
у которой есть параметр contentAlignment -
метод
matchParentSize,
который растягивает фон под содержимое -
класс
BoxScope,
где объявлен метод align