为了启用Linkify
行为,我在代码中执行此操作:
textView.setMovementMethod(LinkMovementMethod.getInstance());
有没有办法在布局xml
中设置它textview
?
不,那里没有。如果您setMovementMethod(LinkMovementMethod.getInstance());
在应用程序中的很多地方都使用它而想要避免它,您应该考虑创建和使用一个自定义类扩展TextView
来执行该方法。
在 XML 布局中使用“autoLink”属性
在 kotlin 中,您可以像这样创建扩展函数
@SuppressLint("SetTextI18n")
fun TextView.makeHyperLink(url: String) {
text = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml("<a href='${url}'>${text}</a>", Html.FROM_HTML_MODE_COMPACT)
} else {
Html.fromHtml("<a href='${url}'>${text}</a>")
}
movementMethod = LinkMovementMethod.getInstance()
isClickable = true
}