概述
今天为大家讲个小的知识点,网上翻阅了下,有相关的知识点介绍,但是在使用的过程中还是不是很详细,在此我把这个小知识点说明下,叫你***如何去除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只要负责显示就可以了!其它什么点击事件都不需要加.
好的,所有的流程已经完成。谢谢,不喜勿喷
最后
以上就是寒冷裙子为你收集整理的android 去除SpannableString下划线的全部内容,希望文章能够帮你解决android 去除SpannableString下划线所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复