Как установить цвет фона всей строки текста в TextField в составлении на Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как установить цвет фона всей строки текста в TextField в составлении на Android?

Сообщение Anonymous »

Я пытаюсь создать примитивный редактор уценки с подсветкой, и у меня возникла проблема с подсветкой блоков кода.
Я использую AnnotatedString с TextField сделать вид редактора. Однако я не могу найти способ установить цвет фона для всей строки текста, а не только для символов. Например, вот как выглядит мое приложение:
https://i.sstatic.net/656e9ImB.png
Но что я хочу это будет выглядеть так:
https://i.sstatic.net/lGlgPuS9.png
Обратите внимание, как светло-серый фон проходит полностью до конца, хотя никаких символов, заполняющих это пространство, нет.
Вот фрагмент кода, отвечающий за стилизацию блоков кода:
< pre class="lang-kotlin Prettyprint-override">

Код: Выделить всё

                    withStyle(
style = SpanStyle(
fontFamily = FontFamily.Monospace,
background = colorScheme.secondaryContainer,
color = colorScheme.onSecondaryContainer,
)
) {
append("```")
index += 3
while (index < value.length && !value.startsWith("```", index)) {
append(value[index])
index++
}
append("```")
index += 3
}
Вот как я применяю стиль AnnotatedString к TextField:

Код: Выделить всё

  TextField(
value = value,
onValueChange = onValueChange,
visualTransformation = {
TransformedText(
MarkdownProcessor(value, defaultColorScheme),
OffsetMapping.Identity
)
}
)
Можно ли выделить всю строку? Как лучше всего реализовать такое поведение, даже если не использовать AnnotatedString?
Изменить: я хочу установить цвет фона определенных строк, а не всего TextField.

Подробнее здесь: https://stackoverflow.com/questions/788 ... in-compose

Вернуться в «Android»