博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CharacterStyle的简单使用
阅读量:4658 次
发布时间:2019-06-09

本文共 2159 字,大约阅读时间需要 7 分钟。

CharacterStyle可以改变textview的一些属性,比如:背景色,前景色,下划线,点击事件等。效果如图:

点击button后,改变textview的一些属性的效果:

点击medium的时候弹出toast:

代码实例:

1 public class MainActivity extends Activity { 2  3     Button mbutton; 4     TextView mtextView; 5  6     @Override 7     protected void onCreate(Bundle savedInstanceState) { 8         super.onCreate(savedInstanceState); 9         setContentView(R.layout.activity_main);10 11         mtextView = (TextView) findViewById(R.id.mtextView);12         mbutton = (Button) findViewById(R.id.mbutton);13 14         mbutton.setOnClickListener(new OnClickListener() {15 16             @Override17             public void onClick(View v) {18 19                 SpannableStringBuilder ssBuilder = new SpannableStringBuilder(20                         mtextView.getText().toString());21                 CharacterStyle cStyle = new ForegroundColorSpan(Color.BLUE);22                 CharacterStyle cStyle1 = new BackgroundColorSpan(Color.GRAY);23                 CharacterStyle cStyle2 = new UnderlineSpan();24                 CharacterStyle cStyle3 = new ClickableSpan() {25 26                     @Override27                     public void onClick(View widget) {28                         Toast.makeText(getApplicationContext(), "hello",29                                 Toast.LENGTH_LONG).show();30 31                     }32                 };33 34                 ssBuilder.setSpan(cStyle, 0, mtextView.getText().length(),35                         Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);36                 ssBuilder.setSpan(cStyle1, 0, mtextView.getText().length(),37                         Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);38                 ssBuilder.setSpan(cStyle2, 0, mtextView.getText().length(),39                         Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);40                 ssBuilder.setSpan(cStyle3, 0, mtextView.getText().length() - 5,41                         Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);42 43                 mtextView.setText(ssBuilder);44                 mtextView.setMovementMethod(LinkMovementMethod.getInstance());45             }46         });47 48     }49 50 }

 

转载于:https://www.cnblogs.com/silenceshining/p/4662042.html

你可能感兴趣的文章
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>
JavaScript中的原型继承原理
查看>>
Python logger模块
查看>>
jquery控制css的display(控制元素的显示与隐藏)
查看>>
关于python做人工智能的一个网页(很牛逼)
查看>>
判断控件的CGRect是否重合,获取控件的最大XY值
查看>>
POJ-1128 Frame Stacking
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
P4878 道路修建-美国
查看>>
dp练习
查看>>
[javascript]9宫格拖拽拼图游戏 puzzle
查看>>
Entity Framework底层操作封装(3)
查看>>
InputStream 转换 InputStreamReader再转换BufferedReader
查看>>
在线程池中的使用spring aop事务增强
查看>>
javascript相关知识
查看>>