Как установить цвет фона всей строки текста в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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