TextView 部分文字高亮、点击、添加超链接、替换字体、富文本、图片替换文字等实现
2017-08-17 15:51
2466 查看
在项目中,经常会遇到部分文字做高亮点击处理,或者做成富文本,或者添加超链接等处理,一般简单的我们可以用 Html.fromHtml()来处理,然而一些复杂的要求,用 Html.fromHtml()来实现就比较麻烦了,这时就会用到SpannableString这个类,本文主要是介绍一款对SpannableStringBuilder类做封装的控件:HighlightTextView,可以轻松实现以上的项目场景。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/17/6ae3ebba1b369216585e69236dabf81f)
)
方法2:
代码中设置
所有方法都同时提供根据文字起始位置和结束位置来查找操作文字,和根据关键字段来查找操作文字。
演示
)
添加依赖
方法1:allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.albert-lii:HighlightTextView:1.0.0' }
方法2:
compile project(':highlighttextview')
使用方法
布局文件<com.liyi.highlight.HighlightTextView android:id="@+id/highlighttextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" />
代码中设置
highlighttextView.addContent("文字内容") // 设置文字颜色(12:文字颜色转变的开始位置,14:文字颜色转变的结束位置) // 同时提供方法:.addFontColorStyleByKey(@ColorInt int color, String key) .addFontColorStyle(Color.YELLOW, 12, 14) // 设置文字背景色 // 同时提供方法:.addBgColorStyleByKey(@ColorInt int color, String key) .addBgColorStyle(Color.BLUE, 0, 10) // 直接搜索“文字内容”中的所有“关键字”,对所有“关键字”添加超链接 // 同时提供方法:.addURLStyle(String url, int start, int end) .addURLStyleByKey("http://www.baidu.com", "关键字") // 直接搜索“文字内容”中的所有“关键字”,对所有“关键字”添加点击事件 // 同时提供方法:.addClickStyle(final OnHighlightClickListener listener, final boolean isNeedUnderLine, int start,int end) .addClickStyleByKey(new HighlightTextView.OnHighlightClickListener() { @Override public void onTextClick(int position, View v) { Toast.makeText(MainActivity.this, "关键字", Toast.LENGTH_SHORT).show(); } }, true, "关键字")// true:是否添加下划线 // 将文字替换为图片(ImageSpan.ALIGN_BOTTOM:图片与文字底部对齐) // 同时提供方法:.addImageStyle(ImageSpan span, int start, int end) // drawable也可以是span、bitmap、resouceId .addImageStyleByKey(drawable, ImageSpan.ALIGN_BOTTOM, "关键字") // 设置字体样式 // .addTypefaceStyle(int style, int start, int end) // .addTypefaceStyleByKey(int style, String key) // 加删除线 // .addStrikethroughStyle(int start, int end) // .addStrikethroughStyleByKey(String key) // 执行 .build(); // 此方法搜索字符串中所有的key,并返回每个key的开始位置与结束位置的数组列表(return List<int[]> ===> int[0]开始位置,int[1]结束位置) highlighttextView.searchAllIndex(String key)
所有方法都同时提供根据文字起始位置和结束位置来查找操作文字,和根据关键字段来查找操作文字。
github地址:
https://github.com/albert-lii/HighlightTextView
给个star,并不吃亏哦
相关文章推荐
- android textview改变部分文字的颜色和string.xml中文字的替换及部分内容设置颜色、字体、超链接、图片
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
- Android TextView 添加部分文字高亮,点击功能
- android TextView、EditText对部分内容设置颜色、字体、超链接、图片、点击事件
- TextView部分内容改变颜色,背景色,大小,字体,超链接,删除线,下划线,添加图片
- 利用Span实现TextView/EditText的灵活表现--改变字体外观,添加点击,超链接
- Android TextView富文本、超链接和添加文字背景等其他效果的实现
- android Textview 实现展开收缩功能+部分文字点击 (SpannableString)
- android TextView 结合SpannableString对部分内容设置颜色、字体、超链接、图片
- 基础控件——TextView实现部分文字可点击
- 【工作笔记】android TextView、EditText对部分内容设置颜色、字体、超链接、图片
- android TextView、EditText对部分内容设置颜色、字体、超链接、图片
- TextView技巧,例如:实现部分文字变色和可点击
- TextView添加链接实现富文本label带点击功能
- android TextView、EditText对部分内容设置颜色、字体、超链接、图片
- Android 自定义textview 部分文字字体颜色高亮
- Android TextView 高亮字体并添加点击事件
- TextView使部分文字具有超链接(或点击)功能