1. 程式人生 > >Android 給TextView 中 部分文字加下劃線 並加入超連結(可點選)

Android 給TextView 中 部分文字加下劃線 並加入超連結(可點選)

Android 本身自帶的TextView 並沒有直接的方法可以給文字加下劃線和可點選的超連結,使用以下方法即可實現:

 /**
     *
     * @param content   文字內容    
     * @param textView  載入文字的textview
     */

private void callService(String content, TextView textView) {
    SpannableStringBuilder builder = new SpannableStringBuilder(content);
    int i = content.indexOf("1");//擷取文字開始的下標
    builder.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            //點選後的操作
            CommonUtils.call(mContext, "12351");
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setColor(getResources().getColor(R.color.text_blue_color));       //設定文字顏色
            ds.setUnderlineText(true);      //設定下劃線//根據需要新增
        }
    }, i, i + 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setHighlightColor(Color.TRANSPARENT); //設定點選後的顏色為透明,否則會一直出現高亮
    textView.setText(builder);
    textView.setMovementMethod(LinkMovementMethod.getInstance());
}