【发布时间】:2010-08-09 01:59:45
【问题描述】:
要启用Linkify 行为,我在代码中执行此操作:
textView.setMovementMethod(LinkMovementMethod.getInstance());
有没有办法在布局xml 中为textview 设置这个?
【问题讨论】:
要启用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
}
【讨论】: