设置文本颜色
tv.setText(Html.fromHtml("<font color = green>" + taskNum + "</font>" + "条任务," + "<font color = red>" + undoTaskNum + "</font>" + "条未完成"));
设置文本下划线
tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);// 设置下划线
或者:
tv.setText(Html.fromHtml("<u>使用html实现下划线样式</u>"));// 设置下划线
设置文字粗体:
tv.getPaint().setFakeBoldText(true);
布局文件中:
android:textStyle="bold"
设置文本中间横线
tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
TextView中设置图片:
除了设置background和drawableLeft,drawableRight之类最常用的方法外,还有两种方式可以设置图片
1.在Html中使用<img>标签标记一张图片,通过ImageGetter类来显示:
String htmlSource = "<b>TextView_1:</b> This is a " + "<a href=\"http://www.google.com\">link</a> " + "with a image." + "<img src=\"ic_launcher\">"; CharSequence chars = Html.fromHtml(htmlSource, new ImageGetter() { @Override public Drawable getDrawable(String source) { Drawable drawFromPath; int path = MainActivity.this.getResources().getIdentifier( source, "drawable", "com.michael.textviewdemo"); drawFromPath = (Drawable) MainActivity.this.getResources() .getDrawable(path); drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight()); return drawFromPath; } }, null); tvOne.setMovementMethod(LinkMovementMethod.getInstance());//如果没有这句,则链接点击无效 tvOne.setText(chars);
如果你想显示只有文本的Html,那么可以使用:
public static Spanned fromHtml (String source)
如果你的这个Html中包含了图片,例如上面的例子中的<img src=\"ic_launcher\">,那么你可以使用:
public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)这个方法中的ImageGetter会处理你的Html中的<img>标签,生成Drawable返回。
2.使用ImageSpan对象来显示图片:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); ImageSpan iamgeSpan = new ImageSpan(this, bitmap); SpannableString spannableString = new SpannableString("ic_launcher"); spannableString.setSpan(iamgeSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); tvTwo.setText(spannableString);
我们可以看到里面使用到了SpannableString这个对象,当你需要对TextView中的个别文字进行特殊处理,比如,加入链接地址,设置个别文字的字体,颜色,背景色,甚至插入图片等等,这时候就可以用SpannableString对象。
你可以通过连续setSpan来达到这个目的。setSpan中的第一个参数是Span对象:可以有多种类型,比如:
- new URLSpan("http://www.google.com")
- new BackgroundColorSpan(Color.RED)
- new ForegroundColorSpan(Color.YELLOW)
- new StyleSpan(android.graphics.Typeface.BOLD_ITALIC)
- new UnderlineSpan();
- new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
很容易理解,通过设置这些Span来实现文字的特殊效果。
2,3两个参数是设置你的Span所针对的文字是哪些,索引从0到text.length。当然,如果你设置了ImageSpan,比如上面,那么第一个字符就被图片给替换掉了,因此,如果你不想被替换掉,那么你需要在text中为你的ImageSpan预留一个字符。
查看更多的Span可以参考android.text.style
一般的使用步骤是:
- SpannableString spannable = new SpannableString(str);
- // SpannableStringBuilder spannable = new SpannableStringBuilder(str);
- //创建各类Span
- CharacterStyle span=new UnderlineSpan();
- spannable.setSpan(span,start,end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- //可以连续设置span
- view.setText(spannable);
相关推荐
在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本。然而,在实际应用中,我们可能会遇到`TextView`默认带有上下边距的问题,这可能不符合我们的设计需求或者影响界面布局的美观性。标题"安卓...
在Android开发中,TextView是显示文本的基本控件,它的使用非常广泛,无论是显示简单的文字信息,还是复杂的格式化文本,TextView都是不可或缺的一部分。这个压缩包文件"安卓textView相关-TextView中文本的处理.rar...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在界面设计中扮演着重要的角色。为了使TextView更具交互性,我们常常需要根据用户操作或特定条件来改变其显示状态,比如选中、聚焦或者按下等。在...
在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们可能需要让TextView中的文字以特定的角度旋转显示,比如垂直显示或者倾斜显示,来满足界面设计的需求。这就是"旋转TextView文字显示方向"这一...
在Android开发中,TextView是用于显示文本的基本组件。在某些设计需求中,我们可能需要让TextView的文字呈现旋转状态,比如创建一个垂直显示的标题或者实现某种动态效果。本篇文章将详细探讨如何实现“旋转TextView...
在Android开发中,`TextView`通常用于显示文本内容,但有时候我们可能希望在其中嵌入动态图像,如GIF格式的图片。`TextView`默认并不支持直接显示GIF动画,因此需要通过一些特殊的方式来实现这一功能。本篇将详细...
在XML布局文件中定义,或者在代码中创建,TextView可以用来显示静态文本,也可以动态加载数据。 2. **显示HTML内容**: - Android的TextView默认并不支持HTML解析,但通过`Html.fromHtml()`方法,我们可以将HTML...
在Android开发中,`TextView`是用于展示文本的常用组件,它可以显示单行或多行文本。在特定场景下,为了优化用户体验,我们可能希望只显示文本的一部分,如果文本内容超出了预设的显示范围,就用"点击查看更多"这样...
在Android开发中,`TextView` 是一个非常常用的控件,用于显示单行或多行文本。在某些场景下,我们可能希望限制`TextView`的显示行数,并在超出时使用省略号来表示文本被截断。这就涉及到`TextView`的自动换行与截断...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面设计中扮演着重要角色。本资源"安卓textView相关-代码动态改变某些textview文本颜色及其大小的方式.rar"包含了关于如何在运行时动态修改...
在Android开发中,有时我们需要在TextView中展示动态的GIF图像,而系统默认的TextView并不支持直接播放GIF。为了实现这一功能,我们需要自定义一个TextView,并通过一系列技术手段来处理GIF文件。以下是如何在自定义...
在Android开发中,TextView是应用界面中最常用的组件之一,它用于显示文本信息。为了提升用户体验,开发者经常需要为TextView添加点击效果,使用户能够清楚地感知到操作反馈。本篇文章将详细探讨如何实现TextView的...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它是我们日常开发中最常用的基础控件之一。然而,当TextView中的文本内容超出显示区域时,我们有时需要实现文本的滚动效果,以便用户可以查看全部...
在Android开发中,文本视图(TextView)是用于展示文本的基本组件。然而,有时我们可能需要实现更复杂的显示效果,比如在应用中播放通知字幕时,逐行逐字显示文本,这通常用于模仿电视字幕或者游戏中的对话效果。在...
在Android开发中,`TextView`是用于展示文本的视图组件,它提供了丰富的特性来定制文本的显示方式。本文将详细介绍`TextView`的一些关键XML属性,帮助开发者更好地理解和使用这个组件。 1. `android:autoLink` `...
在Android开发中,TextView是用于显示单行或多行文本的常用控件。然而,当文本内容过长时,为了适应屏幕大小,我们需要采取措施来处理这些超长的文本。本篇将详细介绍如何在TextView中实现文字过长时的省略显示和...
在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们可能需要对TextView的布局进行自定义,使其能够满足特定的设计需求。本教程将详细讲解如何实现一个自定义的TextView布局,使得文本每四行平均...
在Android开发中,有时我们需要在TextView中展示动态内容,如GIF动图。这在标准的Android SDK中并不直接支持,但可以通过自定义View或使用第三方库来实现。本篇文章将详细探讨如何在Android中自定义TextView以加载...
在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本信息。而"带标签的TextView",如标题所示,是在普通`TextView`的基础上进行了一定的扩展,通常是为了提供更丰富的用户界面元素,使用户可以更...
在Android开发中,当需要在一个TextView中展示大量文本,而屏幕空间有限时,可以使用TextView的垂直滚动功能来实现文本的连续显示。本篇文章将详细讲解如何在Android中实现TextView的垂直滚动效果。 首先,要开启...