博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TextView 多文字字体颜色及多事件监听
阅读量:5318 次
发布时间:2019-06-14

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

像微信朋友圈点赞功能如:张三、李四、王五、这种格式

最早做法是在layout中创建一个父类容器如linearlayout然后在创建一个子layout,在代码中 通过for循环addView添加到父类容器当中,虽然可以实现效果但是这样无形中会增加很多view控件。

通过SpannableStringBuilder只通过一个textview就可以实现上面的效果。

InvitationLike userLike;         SpannableStringBuilder builder = new SpannableStringBuilder();        SpannableString spannableString;        for(int i=0;i

likeTextViewCliceSpan是事件方法

private ClickableSpan likeTextViewCliceSpan(final InvitationLike user_like){        ClickableSpan clickableSpan=new ClickableSpan() {                        @Override            public void onClick(View widget) {                StartPace(user_like.getUtid(),user_like.getUid(),user_like.getUsername());            }            @Override            public void updateDrawState(@NonNull TextPaint ds) {                super.updateDrawState(ds);//根据自己情况设置相应字体颜色                ds.setColor(mContext.getResources().getColor(R.color.broadcast_list_name));                ds.setUnderlineText(false);                ds.clearShadowLayer();            }         };        return clickableSpan;    }

同理微信中的回复功能也一样实现通过一个textview实现,如果实用多个textview就很难保证字体对齐方式。

微信回复格式

李四回复张三:谢谢

张三:不错啊

这个样式父类必须创建一人上layout,因为有多行,每行是一个textview控件,textviewClickSpan也是事件方法和上面基本一样这里就是粘贴了

private void userCommentList(final int index,LinearLayout linearLike, final List
commentList){ linearLike.removeAllViews(); NewCommentModel commentModel; for(int i=0;i

 

转载于:https://www.cnblogs.com/freexiaoyu/p/4604027.html

你可能感兴趣的文章
Linux无线工具详解(Wireless tools for Linux)
查看>>
RSS阅读器
查看>>
微信电脑版不断崩溃
查看>>
js链式调用
查看>>
数字统计
查看>>
20180620小测
查看>>
聊聊setTimeout和setInterval线程
查看>>
项目执行过程
查看>>
关于input type=file 限制文件上传类型
查看>>
深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]
查看>>
JDK中DNS缓存的分析
查看>>
Objective-C中的@property和@synthesize用法
查看>>
一位面试者提到直接调用vuex中mutations方法
查看>>
动态加载vs静态加载
查看>>
(7)关于margin的一些想法2.0
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>
一些有意思的算法代码[转载]
查看>>
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>