XML中的Android LinkMovementMethod?

时间:2010-08-09 01:59:46

标签: android linkify

要启用Linkify行为,请在代码中执行此操作:

textView.setMovementMethod(LinkMovementMethod.getInstance());

有没有办法在xml的布局textview中设置此内容?

3 个答案:

答案 0 :(得分:5)

不,没有。如果您在应用中要避免使用setMovementMethod(LinkMovementMethod.getInstance());的许多位置,则应考虑创建并使用扩展TextView的自定义类来执行该方法。

答案 1 :(得分:2)

使用XML布局中的“autoLink”属性

答案 2 :(得分:0)

在 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
}