Как разрешить обработку html в тексте kotlin
Я не силен в kotlin, с сервера приходит json в тексте которого имеется ссылка в виде html, но проблема в том, что она выводится как есть в виде текста. Как заставить kotlin обрабатывать её в виде ссылки html?
$manuals = [
'ru' => [
'title' => 'xxxx',
'points' => [
[
'text' => '<a href="https://google.com/">test123</a>',
"img" => "https://test.ru/help/mod1.jpg",
],
[
'text' => 'textxxxxxxxx',
"img" => "https://test.ru/help/mod1.jpg",
],
[
'text' => 'textxxxxxxxx',
"img" => "https://test.ru/help/mod1.jpg",
],
],
],
А вот код в приложении на экране вывода этого текста
@Composable
fun Page(
manual: Manual?
) {
val obj: ManualPoints? = Gson().fromJson(manual?.manual, ManualPoints::class.java)
LazyColumn(
modifier = Modifier.fillMaxSize(), contentPadding = PaddingValues(16.dp)
) {
if (manual?.manual == null) {
item {
CircularProgressIndicator(
modifier = Modifier.size(40.dp)
)
}
} else {
item {
Text(
text = obj?.title ?: "",
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 0.dp),
style = manualH.copy(
textAlign = TextAlign.Center, color = MaterialTheme.colorScheme.onBackground
),
)
}
items(obj?.points.orEmpty()) {
Box {
Point(it)
}
}
}
}
}
@Composable
fun Point(point: Point) {
Column {
Text(
text = point.text ?: "",
style = manual.copy(MaterialTheme.colorScheme.onBackground),
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 5.dp, top = 25.dp),
)
if (!point.img.isNullOrEmpty()) {
Box(modifier = Modifier.border(5.dp, Color(0XFFFFB039))) {
GlideImage(imageModel = point.img,
imageOptions = ImageOptions(contentScale = ContentScale.FillWidth),
modifier = Modifier
.padding(10.dp)
.fillMaxWidth(),
loading = remember {
{
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
CircularProgressIndicator()
}
}
})
}
}
}
}