`
zhouxiaoli521
  • 浏览: 562627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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());     
    }

 

http://blog.sina.com.cn/s/blog_5da93c8f0100ul3z.html

分享到:
评论

相关推荐

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

    不过,一种更简单的方法是使用`android:gravity="center_vertical"`属性,但这只会使整个TextView的内容垂直居中,而不是不同大小的文字。在这种情况下,可以考虑使用`Layout`类,如`DynamicLayout`,它允许你在运行...

    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实现超链接的跳转

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

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

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

    Android中SpannableString实例程序

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

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

    对于大量文本的展示,可以考虑使用RecyclerView配合自定义的LayoutManager,或者使用HorizontalScrollView,结合动态计算每个TextView的宽度,达到左右对齐的目的。 每种方法都有其适用场景和限制,选择哪种方法取...

    Android TextView 控件例子

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

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

    总之,通过使用SpannableString和ImageSpan,我们可以灵活地在Android的TextView中插入图片,实现文字与图片的混排,提升应用的UI表现。在实际开发中,可以结合自定义View或使用第三方库如`DynamicDrawableSpan`或`...

    Think4AndroidTextView16062601.rar

    本文将围绕“Think4AndroidTextView16062601.rar”这一主题,深入探讨TextView的使用技巧、常见问题以及解决策略。 首先,TextView的核心功能是显示静态或动态文本。它支持多种格式,包括文字颜色、大小、样式(如...

    android非常炫酷的 TextView 效果

    这可能通过`SpannableString`或`ImageSpan`实现,使得文本和图片能无缝结合。 8. **触摸反馈**:为了提升用户体验,`HTextView`可能包含了触摸反馈效果,比如按下时的背景颜色变化或者边框效果。 以上只是部分可能...

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

    当需要在用户输入时实时更新文字样式时,可以结合使用TextWatcher。在`afterTextChanged()`方法中,可以获取当前TextView的文本,然后转换为Spannable对象并设置样式。 通过以上的方式,我们可以实现对TextView中...

    android TextView详解

    在XML布局文件中,我们通常使用`<TextView>`标签来创建它,通过设置`android:text`属性来指定要显示的文本内容。 2. **文本样式** - **字体**:可以设置字体类型、大小和样式,例如`android:typeface`(默认、...

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

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

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

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

    Android textView应用简单示例.zip

    总之,Android的TextView是构建用户界面不可或缺的一部分,熟练掌握其使用技巧和特性,能帮助开发者构建更丰富的UI交互。通过这个简单的示例,我们可以学习到TextView的基本操作,为进一步的Android开发打下坚实的...

    Android TextView

    在Android开发中,TextView是一个非常基础且重要的组件,它用于显示单行或多行文本。TextView在用户界面设计中扮演着信息展示的角色,可以是应用程序的标题、内容描述或者是按钮上的文字。下面我们将深入探讨Android...

    Android textView应用简单示例.rar

    对于大量文本,使用`SpannableString`和`Spanned`接口可以实现文本部分的样式,而无需创建多个`TextView`,从而提高性能。 以上内容涵盖了`TextView`的基础使用和一些高级特性。在实际开发中,`TextView`还有更多...

    Android textView显示图片的例子_TextImage-IT计算机-毕业设计.zip

    通过这个“TextView显示图片的例子_TextImage”源码Demo,学生可以学习到Android基础组件的使用,以及在实际项目中如何结合文本和图片展示内容,这对他们的毕业设计和未来Android开发工作具有很好的实践指导意义。

Global site tag (gtag.js) - Google Analytics