Ребят, кто-нибудь знает почему высота каждой линии в Text разная.

Я решил вычислить высоту каждой линии и вот что я получил:
@Preview
@Composable
fun LineHeightPreview() {
Text(
modifier = Modifier
.fillMaxWidth(),
text = "title\ntitle\ntitle\ntitle",
textAlign = TextAlign.Center,
lineHeight = 50.sp,
onTextLayout = {
val lines = it.lineCount
for (i in 0 until lines) {
val lineHeight = it.getLineBottom(i) - it.getLineTop(i)
Log.d("onTextLayout", "Line #$i, top = ${it.getLineTop(i)} height = $lineHeight")
}
},
style = MaterialTheme.typography.h4
)
}


Даже у выставленным lineHeight я имею следующий вывод:
D/onTextLayout: Line #0, top = 0.0 height = 123.0
D/onTextLayout: Line #1, top = 123.0 height = 132.0
D/onTextLayout: Line #2, top = 255.0 height = 132.0
D/onTextLayout: Line #3, top = 387.0 height = 129.0


Как это вообще происходит?

6 ответов

18 просмотров

Наверно потому что у первой и последней игнорируются отступы вызванные lineHeight

Yuri-Pisarev Автор вопроса
Dmitry
Наверно потому что у первой и последней игнорируют...

Как я могу получить высоту каждой линии с учетом этих отступов? Я пытаюсь сделать модификатор позволяющий задавать минимальную высоту блока в линиях текста. То что линии выдаются разного размера здорово усложняет мне жизнь

Dmitry
Наверно потому что у первой и последней игнорируют...

Вроде как только у первой игнорируются

Nick
Вроде как только у первой игнорируются

Тоже так думал, но как видишь у последней тоже немного подрезали

такое ощущение, что я про это недавно где-то читал...

Yuri-Pisarev Автор вопроса
Denis K
такое ощущение, что я про это недавно где-то читал...

Если есть статейка - поделись пожалуйста.

Похожие вопросы

Обсуждают сегодня

День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
ну так тогда какой эплы юзают набор инструкций, и тогда считаються ли они армами вообще?
Shvabrikk Nya
4
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Карта сайта