Menampilkan teks HTML di Jetpack Compose
pengantar
Halo semuanya, dalam artikel singkat ini saya akan menunjukkan kepada Anda cara menampilkan teks HTML di Android. Pada saat artikel ini ditulis, Text composable Jetpack compose tidak memungkinkan kami melakukan ini. Namun, berkat dukungan interop yang hebat untuk menulis, kita dapat menggunakan TextView atau MaterialTextView untuk menampilkan teks bergaya html.
Prasyarat
- Pengetahuan tentang penggunaan tampilan dalam compose menggunakan AndroidView composable.
- Pengetahuan dasar tentang cara bekerja dengan penulisan Jetpack.
Teks HTML, seperti namanya, adalah sepotong teks yang diformat menggunakan tag HTML. Hal yang sangat penting untuk diperhatikan di sini adalah, tidak semua tag didukung di Android. Hanya beberapa tag dasar yang didukung.
Penggunaan teks HTML dalam konteks Android
Banyak titik akhir API menggunakan format ini untuk menyimpan konten tekstual. Titik akhir dapat menggunakan ini karena beberapa alasan. Berikut adalah contoh titik akhir tersebut — API Spotify.
Saat mengirimkan permintaan ke API Spotify untuk mendapatkan informasi tentang episode podcast, selain menyediakan versi teks biasa dari deskripsi episode, itu juga menyediakan versi deskripsi berformat html.
{
.
.
"description" : "........."
"html_description" : ".........."
.
.
}
Mem-parsing teks berformat HTML
Untuk mem-parsing string yang berisi teks berformat html menjadi sesuatu yang dapat digunakan oleh tampilan teks Android, HtmlCompactkelas dapat digunakan. Kelas HtmlCompat adalah versi Htmlkelas yang menyediakan kompatibilitas mundur untuk versi Android yang lebih lama. Berikut adalah dokumentasi kelas untuk kelas Html dan HtmlCompat.
Metode HtmlCompat.fromHtml()ini dapat digunakan untuk mengonversi string Html menjadi objek Spanned yang dapat digunakan dengan TextView atau MaterialTextView Android. Argumen pertama fungsi adalah string sumber dan argumen kedua memungkinkan Anda menentukan flag tertentu yang dapat digunakan untuk menyesuaikan perilaku penguraian fungsi. Menjelaskan penggunaan setiap bendera berada di luar cakupan artikel ini. Kami hanya dapat meneruskan 0, jika kami tidak perlu menentukan bendera apa pun.
// parsing html string using the HtmlCompat class
val spannedText = HtmlCompat.fromHtml(sourceString, 0)
Setelah teks dikonversi, kita dapat meneruskannya ke TextView untuk menampilkannya. Karena kita menggunakan compose, kita akan menggunakan AndroidView yang dapat disusun untuk menggunakan TextView sebagai yang dapat disusun.
AndroidView(
modifier = modifier,
factory = { MaterialTextView(it) },
update = { it.text = spannedText }
)
Bonus! — Jadikan tautan dapat diklik!
Jika ada tautan dalam teks, kita dapat membuatnya dapat diklik dengan menyetel autoLinkMask properti ke Linkify.WEB_URLS dan menyetel linksClickableproperti ke true.
AndroidView(
modifier = modifier,
factory = {
MaterialTextView(it).apply {
// links
autoLinkMask = Linkify.WEB_URLS
linksClickable = true
// setting the color to use forr highlihting the links
setLinkTextColor(Color.White.toArgb())
}
},
update = {
it.maxLines = currentMaxLines
it.text = text
}
)
Kesimpulan
Dan ini mengakhiri posting blog singkat ini! Anda dapat melakukan sejuta hal lainnya, tetapi Anda memutuskan untuk duduk dan membaca artikel ini untuk mengetahui cara menampilkan teks HTML dalam penulisan Jetpack. Ini menunjukkan bahwa Anda berkomitmen untuk meningkatkan keterampilan Anda dalam pengembangan Android! Semoga, Anda menemukan posting blog ini bermanfaat! Jika Anda menyukai artikel ini, Anda dapat melihat artikel saya yang lain dengan mengklik di sini . Seperti biasa, saya ingin mengucapkan terima kasih telah meluangkan waktu untuk membaca artikel ini. Saya berharap yang terbaik untuk Anda! Selamat membuat kode ! Bersulang!

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































