天天看點

Android通過SpannableString實作超級連結 點選textview某些文字跳轉

廢話不說,先上效果,

Android通過SpannableString實作超級連結 點選textview某些文字跳轉

這句話整體也就是一個textview,主要是實用SpannableString來實作的。

另外說下 SpannableString是非常強大的,有空再做一個SpannableString的介紹。

這是針對于textview的代碼:

//底部提示語  快速咨詢為超鍊
        SpannableString str = new SpannableString("這裡是textview的整個文字");
 //設定屬性
        str.setSpan(new MyCheckTextView(this), , , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textview.setText(str);
        textview.setMovementMethod(LinkMovementMethod.getInstance());//不設定 沒有點選事件
        textview.setHighlightColor(Color.TRANSPARENT); //設定點選後的顔色為透明
           

這是對于内部類MyCheckTextView的實作:

public class MyCheckTextView extends ClickableSpan {
    private Context context;
    public MyCheckTextView(Context context) {
        this.context = context;
    }

    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);        
         //設定文本的顔色
        ds.setColor(Color.parseColor("#1A7DC2"));
        //超連結形式的下劃線,false 表示不顯示下劃線,true表示顯示下劃線,其實預設也是true,如果要下劃線的話可以不設定
          ds.setUnderlineText(true);
    }

//點選事件,自由操作 
    @Override
    public void onClick(View widget) {
        context.startActivity(new Intent(context, PublishQuickConsultActivity.class));
    }
}
           

就這樣很簡單,有空再細說 SpannableString