SpannableString 给TextView添加不同的显示样式
显示 添加 不同 样式 textview
2023-09-14 08:58:19 时间
span >myTextView = (TextView) this.findViewById(R.id.myTextView);
//创建一个 SpannableString对象
SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
//设置超链接
sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式一
sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//SpannableString对象设置给TextView
myTextView.setText(sp);
//设置TextView可点击
Android NestedScrollView/ScrollView包裹ViewPager自适应高度 当Android的NestedScrollView/ScrollView这类滚动View包裹ViewPager时候,V...
public class CustomTextView extends TextView { public CustomTextView(Context context) {
由于UI的奇葩作图稿,要求文字要贴边,否则会导致上下的View的margin会变大(因为TextView的文字绘制时有上下间距)。 Paint.FontMetrics * Class that describes the various metrics for a font at a given text size.
SpannableString与String相似,是一种字符串类型,TextView可以直接设置Spannable为显示文本,不相同的是,SpannableString可以使用setSpan方法实现字符串各种形式风格的显示,并且可以设置指定的区间。
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置myTextView = (TextView) this.findViewById(R.id.myTextView); //创建一个 SpannableString对象 SpannableS
//创建一个 SpannableString对象
SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
//设置超链接
sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式一
sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//SpannableString对象设置给TextView
myTextView.setText(sp);
//设置TextView可点击
myTextView.setMovementMethod(LinkMovementMethod.getInstance());
关键方法:
public void setSpan (Object what, int start, int end, int flags)
下面是一个详细的例子:
public class TextViewJump2Activity extends Activity { private TextView mClickableText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); mClickableText = new TextView(this); mClickableText.setClickable(true); mClickableText.setTextSize(20); layout.addView(mClickableText); setContentView(layout); mClickableText.setText(getClickableSpan()); mClickableText.setMovementMethod(LinkMovementMethod.getInstance()); private SpannableString getClickableSpan() { View.OnClickListener l = new View.OnClickListener() { public void onClick(View v) { Toast.makeText(TextViewJump2Activity.this, "Click Success", Toast.LENGTH_SHORT).show(); //在这里就可以做跳转到activity或者弹出对话框的操作了 SpannableString spanableInfo = new SpannableString("This is a test, Click Here!"); int start = 16; int end = spanableInfo.length(); spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return spanableInfo; }
Android NestedScrollView/ScrollView包裹ViewPager自适应高度 当Android的NestedScrollView/ScrollView这类滚动View包裹ViewPager时候,V...
public class CustomTextView extends TextView { public CustomTextView(Context context) {
由于UI的奇葩作图稿,要求文字要贴边,否则会导致上下的View的margin会变大(因为TextView的文字绘制时有上下间距)。 Paint.FontMetrics * Class that describes the various metrics for a font at a given text size.
SpannableString与String相似,是一种字符串类型,TextView可以直接设置Spannable为显示文本,不相同的是,SpannableString可以使用setSpan方法实现字符串各种形式风格的显示,并且可以设置指定的区间。
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置myTextView = (TextView) this.findViewById(R.id.myTextView); //创建一个 SpannableString对象 SpannableS
相关文章
- java中实现客户姓名添加和显示
- 第二百六十六节,Tornado框架-XSS处理,页码计算,页码显示
- 如何在列表操作列区域添加按钮及控制已有按钮显示
- 动态布局_01----动态添加控件 及 将某XML动态加入到Activity显示
- 如何在列表操作列区域添加按钮及控制已有按钮显示
- 查出/tmp的权限,以数字方式显示
- [PHP] 有关PHP浮点数默认显示位数 precision 以及如何调整
- CRM订单上状态字段在UI的显示逻辑
- iis安装完成后,管理工具中不显示,解决方案
- atitit js 开发工具 ide的代码结构显示(func list) outline总结
- echarts x轴显示全部数据:在xAxis的axisLabel里添加interval: 0
- 【自定义maven骨架】IDEA如何自定义一个的maven骨架,解决maven骨架添加之后不显示的问题
- Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)案例
- 聊天信息框显示消息
- 通过jquery获得某个元素的位置, 透明div, 弹出框, 然后在旁边显示toggle子级联菜单-hover的bug解决
- 200:vue+openlayers 添加删除多边形,modify feature,双向互动颜色显示
- 149: vue+openlayers 绘制矩形,显示首尾点和中心点坐标值,同时获取所有点的经纬度
- Zabbix5.0服务器添加主机显示Received empty response from .. dropped connection because of access permissions
- 灰度图像采集显示
- CSS截取字符串,额外的文本显示以省略号
- 设置海思的HDMI2.0自定义显示时序-Hi3536
- Android开发 显示/隐藏/颜色标题栏,状态栏的颜色