`

Android 学习 之 TextView结合SpannableString

阅读更多

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.textview);
TextView txtInfo =(TextView)findViewById(R.id.tv);
//SpannableString文本类,包含不可变的文本但可以用已有对象替换和分离。
//可变文本类参考SpannableStringBuilder
SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");
//用颜色标记文本
ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,
//setSpan时需要指定的 flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括).
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//用超链接标记文本
ss.setSpan(new URLSpan("tel:4155551212"), 2, 5,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//用样式标记文本(斜体)
ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5, 7,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//用删除线标记文本
ss.setSpan(new StrikethroughSpan(), 7, 10,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//用下划线标记文本
ss.setSpan(new UnderlineSpan(), 10, 16,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//用颜色标记
ss.setSpan(new ForegroundColorSpan(Color.GREEN), 10, 13,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//获取Drawable资源
Drawable d = getResources().getDrawable(R.drawable.icon);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
//创建ImageSpan
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
//用ImageSpan替换文本
ss.setSpan(span, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
txtInfo.setText(ss);
txtInfo.setMovementMethod(LinkMovementMethod.getInstance());
}

 

相关API文档请查看:http://developer.android.com/reference/android/text/SpannableString.html

 

 

好吧,我又是转的。嘎嘎~ http://blog.sina.com.cn/s/blog_5da93c8f0100ul3z.html

分享到:
评论

相关推荐

    android设置TextView中不同的文字字体大小且垂直居中显示

    在Android开发中,有时我们需要在同一个TextView中展示不同大小的文字,并让它们保持垂直居中对齐。这可以通过使用SpannableString来实现。SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符...

    Android如何通过TextView实现超链接的跳转

    下面我们将详细介绍如何通过TextView实现超链接的跳转,并结合提供的`HyperLinkDemo`示例进行讲解。 首先,让我们了解基本的步骤: 1. **设置HTML文本**: 你可以将带有超链接的文本以HTML格式写入字符串资源中。...

    Android 使用SpannableString在TextView中插入表情、超链接、文字变大、加粗Demo下载

    在Android开发中,文本展示是常见的需求之一,而TextView作为主要的文本展示控件,有时候我们需要在其中实现更丰富的展示效果,比如插入表情、添加超链接、改变文字大小和加粗等。本教程将深入讲解如何利用...

    Android自定义TextView链接点击和长按事件

    在Android开发中,TextView是用于显示文本的基本组件。然而,标准的TextView往往不能满足开发者所有的需求,例如处理链接点击和长按事件。本篇将详细讲解如何在Android中自定义TextView,实现链接的点击和长按事件,...

    安卓textview左右对齐,自适配间距

    在Android开发中,TextView是用于显示单行或多行文本的常用组件。然而,当TextView包含多行文本并需要左右对齐时,由于不同设备屏幕...通过学习和理解这些代码,可以更好地掌握在Android中实现TextView左右对齐的技巧。

    android textview显示表情图片

    3. **SpannableString与ImageSpan**:如果表情是以单独的图片资源存在的,可以使用`SpannableString`和`ImageSpan`结合。首先,你需要将每个表情图片转换为`Drawable`,然后创建`ImageSpan`对象,并将其应用于`...

    android textview图文混排支持GIF图

    总结来说,Android原生TextView不直接支持GIF,但通过结合SpannableString和第三方库Glide,我们可以实现TextView的图文混排并支持GIF展示。在项目中,根据需求选择合适的实现方式,既能提升用户体验,又要注意性能...

    android textview 文字排版 换行

    在Android开发中,`TextView`是用于展示文本的最基础且重要的组件。它不仅可以显示单行文本,还能处理复杂的文字排版,包括自动换行。本文将深入探讨`TextView`在处理文字排版和换行方面的知识,以及如何优化其性能...

    android非常炫酷的 TextView 效果

    在Android开发中,TextView是应用界面中最常见的组件之一,它用于显示文本信息。然而,TextView并不仅仅局限于基本的文本展示,通过自定义和扩展,我们可以实现各种炫酷的效果,为用户带来更丰富的视觉体验。本篇...

    Android中SpannableString实例程序

    3. **TextView与SpannableString结合**:将SpannableString赋值给TextView的`setText()`方法,这样设置的样式就会在TextView中生效。 ```java textView.setText(spannableString); ``` 4. **不同类型的Span**:...

    安卓textView相关-android文字图片混排在一个TextView中显示文字穿插图片文字变色效果.rar

    总结来说,Android的TextView通过结合SpannableString和各种Span对象,可以实现丰富的文本和图片混排效果。通过熟练掌握这些技巧,开发者可以创建更具吸引力和交互性的用户界面。在实际应用中,应根据需求灵活运用,...

    安卓textView相关-Androidtextview文字中间加上图片.rar

    要实现在TextView中插入图片,Android提供了一种叫做SpannableString的类。SpannableString允许我们在字符串的不同部分应用不同的样式,包括插入图片。以下是一个简单的例子: 1. 首先,我们需要一个ImageView对象...

    Android 设置textview某段字体颜色或者背景

    在Android开发中,TextView是用于显示文本的基本组件。在许多情况下,我们可能需要对TextView中的文本进行更细致的控制,比如设置某一段文字的颜色或背景色。这涉及到Android的富文本处理,通常会用到Spannable和...

    安卓Android源码——textView显示图片的例子_TextImage.zip

    本示例“安卓Android源码——textView显示图片的例子_TextImage.zip”将教你如何在TextView中嵌入图片,使得文本与图像结合,提供更丰富的用户界面。 在Android中,TextView通常用于展示简单的文本信息,如标题、...

    android TextView详解

    在Android开发中,`TextView`是UI设计中最基础且至关重要的组件之一,它用于显示文本信息,无论是简单的标题、按钮文字还是长篇的段落,`TextView`都能胜任。本篇将深入解析`TextView`的各个方面,帮助你更好地理解...

    Android TextView 控件例子

    在实际项目中,TextView往往与其他组件结合使用,例如与Button配合显示按钮文字,与ImageView组合形成图文并茂的显示效果等。理解并熟练掌握TextView的使用,对于提高Android应用的用户体验至关重要。

    安卓textView相关-代码动态改变某些textview文本颜色及其大小的方式.rar

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面设计中扮演着重要角色。本资源"安卓textView相关-代码动态改变某些textview文本颜色及其大小的方式.rar"包含了关于如何在运行时动态修改...

    android 垂直滚动的TextView

    总的来说,Android中的`TextView`垂直滚动功能通过结合XML属性和Java代码可以灵活地实现。开发者可以根据需求调整滚动行为,提供更好的用户体验。在`VerticalScrollTextView_Demo`项目中,你可以进一步了解这些概念...

    动态设置textview的高

    在Android开发中,`TextView` 是一个非常常用的控件,用于显示单行或多行文本。在某些场景下,我们可能需要根据文本内容的长度动态地调整`TextView`的高度,以确保所有文本都能完整显示。本篇文章将深入探讨如何实现...

    Android-SpannableString列出大多数常用的方法和实例供参考。

    在实际项目中,`SpannableString`经常与`TextView`、`EditText`和`Notification`等组件结合使用,提供丰富的文本展示效果。例如,在消息通知中,可以使用`SpannableString`来高亮关键字或者设置特定样式的链接。 `...

Global site tag (gtag.js) - Google Analytics