android 去除SpannableString下劃線

    今天爲大家講個小的知識點,網上翻閱了下,有相關的知識點介紹,但是在使用的過程中還是不是很詳細,在此我把這個小知識點說明下,叫你***如何去除SpannableString下劃線***。很早以前開發的時候,我也爲了這個問題折磨了很久的,如今想想原來是如此的簡單,呵呵。

這裏寫圖片描述
看到效果圖上面的虎摸?這種效果就是微信和QQ空間都有的,並且這文本還具有點擊事件

第一步:
我們要extends ClickableSpan;

import android.text.TextPaint;
import android.text.style.ClickableSpan;
import android.view.View;

/**
 * Class_name:NoLineCllikcSpan 
 * Class_description: Override the ClickableSpan
 * class to remove the underline style (the default system uses ClickableSpan to
 * Create_time: November 26  2012 - 11:39:51 a.m. Change records: 
 * Modifier: LuoZhiPeng
 * Modifier_time:November 26, 2012 - 11:39:51 a.m. 
 * Version: 
 * Description:
 */
public class NoLineCllikcSpan extends ClickableSpan {

    public NoLineCllikcSpan() {
        super();
    }

    @Override
    public void updateDrawState(TextPaint ds) {
        /**set textColor**/
        ds.setColor(ds.linkColor);
        /**Remove the underline**/
        ds.setUnderlineText(false);     
    }

    @Override
    public void onClick(View widget) {
    }
}

好的,這個類完成了,其中最關鍵的一句就是ds.setUnderlineText(false); 相必大家看到這裏就應該明白爲什麼了,它做的操作就是把下劃線去掉,設置爲false。

那如何在實際中使用呢?相必打擊還是很困惑的,那我在這裏告訴你如何使用:
第二步:

String name = "虎摸";
String message = ":ghju發的方法給呵護g";
SpannableString spanStr = new SpannableString(name + message);
        /**設置"虎摸"文字的單擊事件**/
        spanStr.setSpan(new NoLineCllikcSpan() {
            @Override
            public void onClick(View widget) {
            }
        }, 0, name.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        /** 設置“虎摸”文字的前景色**/
        spanStr.setSpan(new ForegroundColorSpan(Color.rgb(90, 185, 203)), 0,
                name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

好的,看到這裏大家應該明白怎麼用的了吧?
看到那個.setSpan(new NoLineClickcSpan(){}) 這裏用到了我們開始第一步中用到的那個重寫的類。實現了虎摸的顏色值,也實現了虎摸的點擊事件!

忘記了這一步,不好意思,加下。
第三步:如何顯示到界面上。
這不其實很簡單了,只要一個View裝着就可以了,一般我們顯示文本都是TextView

所以這裏也不例外


    TextView tv = (TextView)this.findViewByid(R.lzp.tv);
    tv.setText( name + message);

TextView只要負責顯示就可以了!其它什麼點擊事件都不需要加.
好的,所有的流程已經完成。謝謝,不喜勿噴

發佈了42 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章