`
亚当爱上java
  • 浏览: 706104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android--设置TextView部分文字的颜色和背景(高亮显示)

阅读更多
设置部分文字背景高亮显示:
public class HighLightActivity extends Activity {
	String strs="我的心太乱了,给我点空白。";
	TextView textview;
	int start =3;
	int end = 5;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.high_light);
        textview=(TextView)findViewById(R.id.textview);
        SpannableStringBuilder style=new SpannableStringBuilder(strs);
        style.setSpan(new BackgroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textview.setText(style);
        
    }

}


显示效果:



同时设置文字和背景高亮显示:
package com.justel.contact;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.widget.TextView;

public class HighLightActivity extends Activity {
	String strs="我的心太乱了,给我点空白。";
	TextView textview;
	int start =3;
	int end = 5;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.high_light);
        textview=(TextView)findViewById(R.id.textview);
        SpannableStringBuilder style=new SpannableStringBuilder(strs);
        style.setSpan(new BackgroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        style.setSpan(new ForegroundColorSpan(Color.RED),7,9,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
        textview.setText(style);
        
    }

}


显示效果:



参数说明:
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
API里面解释:Spans of type SPAN_EXCLUSIVE_EXCLUSIVE do not expand to include text inserted at either their starting or ending point. They can never have a length of 0 and are automatically removed from the buffer if all the text they cover is removed.
即在原文本头或尾追加新文本的样式不受原文本样式影响,原文本高亮,新追加文本不高亮。

Spannable.SPAN_EXCLUSIVE_INCLUSIVE
API里面解释:Non-0-length spans of type SPAN_INCLUSIVE_EXCLUSIVE expand to include text inserted at their ending point but not at their starting point. When 0-length, they behave like points.
即在原文本尾追加新文本的样式受原文本样式影响,原来文本尾高亮,新追加文本也高亮。
  • 大小: 14.8 KB
  • 大小: 14.3 KB
分享到:
评论
4 楼 flyingsir_zw 2012-03-06  
很好呢.感谢分享.
3 楼 无愧衾影 2011-03-24  
呵呵,需要的东东,又学到了一招!!!
2 楼 亚当爱上java 2011-01-12  
Stero 写道
很给力,谢谢!

相互学习!
1 楼 Stero 2011-01-06  
很给力,谢谢!

相关推荐

    设置TextView部分文字的颜色和背景(高亮显示)

    本篇将详细介绍如何设置TextView的部分文字颜色和背景,使其更加醒目。 首先,我们可以使用`SpannableString`和`SpannableStringBuilder`来实现这个功能。这两个类是可变的字符串,可以添加不同的样式,如颜色、...

    Android-EmphasisTextView-支持部分文字高亮的TextView

    在Android开发中,文本输入和显示是用户界面设计的关键元素之一。`EmphasisTextView` 是一个自定义的视图组件,专门用于实现部分文字高亮的功能。它扩展了Android原生的`TextView`,增加了对特定文字强调的能力,...

    Android 根据搜索内容实现TextView中的文字部分加粗

    在Android开发中,有时我们需要根据用户的搜索关键词高亮显示TextView中的匹配内容,使其在大量文本中突出,提高用户体验。这个过程通常涉及到字符串处理和UI渲染技术。本文将深入讲解如何在Android中根据搜索内容...

    Android-FlexibleRichTextView可以显示LaTeX图片代码的TextView

    代码的展示部分,`FlexibleRichTextView`可能采用代码高亮库,如`Highlight.js`或`Android Studio`自带的`KotlinPoet`,以确保代码的可读性和美观性。开发者可以选择不同的编程语言,并根据需要设置行号、复制功能...

    textview文字样式包含部分文字事件

    通过`android:text`属性可以设置要显示的文本,而`android:textColor`用来设定文字颜色,`android:background`则用于设置文字背景颜色。这些基本属性在XML布局文件中可以直接配置,也可以在代码中动态修改。 然而,...

    Linker,轻量级android库,用于突出显示textview的各个部分,带有可选回调。.zip

    在Android开发中,有时我们需要对TextView中的特定文字进行高亮显示,例如,当我们展示一段包含关键词的文章时,可能希望这些关键词能以不同的颜色或者样式突出显示。"Linker"就是一个专为此目的设计的轻量级Android...

    Android中TextView文本高亮和点击行为的封装方法

    在Android开发中,TextView是展示文本的基本控件,但有时我们需要对其中的部分文字进行特殊处理,比如高亮显示或响应点击事件。`TextView`的文本高亮和点击行为可以通过`ClickableSpan`类来实现,然而,`...

    android文字高亮

    文字高亮主要是通过查找文本中特定的关键词或模式,并为其设置不同的样式,如改变颜色、背景色、下划线等,以达到突出显示的效果。在Android中,我们通常会用到`SpannableString`或`Spanned`来处理这种带有样式的...

    android-resource-management

    例如,在TextView中,可以定义其文字颜色(textColor)、文字大小(textSize)等属性。 #### 资源定义案例研究 以TextView为例,下面展示了一个关于TextView的资源定义案例。在这个案例中,我们定义了TextView的几种...

    TextView自定义各种效果实现

    例如,通过重写`onDraw()`方法,我们可以绘制自定义的背景图案或文字颜色。 2. **动画效果** 为TextView添加动画效果,如淡入淡出、闪烁、滑动等,可以增加用户的交互体验。可以利用Android的动画库,如`...

    Android编程实现TextView部分颜色变动的方法

    有时候,我们可能需要在应用程序中实现TextView的部分文字具有不同的颜色,以突出显示或者强调某些特定信息。本篇将详细讲解如何在Android编程中实现TextView部分颜色变动的方法。 首先,我们需要了解Android中的...

    Android--开发--电子书阅读器.rar

    - 开发夜间模式,调整背景色和字体颜色,降低蓝光对眼睛的影响。 - 提供日间模式、护眼模式等多种主题选项。 7. **用户交互**: - 实现书签功能,保存用户的阅读进度。 - 添加笔记功能,用户可以记录阅读感悟。...

    闪闪发光的textview

    在Android开发中,TextView是用于显示文本的基本组件。在标题提到的"闪闪发光的textview",实际上是指为TextView添加了一种动态效果,使文本看起来像霓虹灯一样闪烁或流动,这种效果通常被称为“闪耀”或“闪烁”...

    牛逼的Android控件

    9. **自定义选择器**:通过设置状态选择器,改变TextView在不同状态(如按下、选中)下的背景色或文字颜色。 10. **动态加载和更新**:结合Loader或LiveData,实现在后台加载文本内容并在TextView中实时更新。 综...

    android气泡式对话列表

    对于文字内容,我们可以使用TextView,并调整其对齐方式和颜色,使其适应气泡背景。 **2. ListView的Divider** ListView的divider是用来分隔列表项的元素。在气泡对话列表中,我们通常希望消除或定制分割线,以便...

    android原生控件引导高亮

    1. 创建遮罩层:使用自定义布局或者设置背景颜色为半透明的布局覆盖整个屏幕,形成引导层。 2. 高亮效果:对于需要高亮的控件,可以创建一个形状(如BitmapShape或VectorDrawable),并将其放在目标控件上方,调整...

    android开发EditTextandTextView属性.pdf

    在Android开发中,EditText和TextView是两个非常重要的UI组件,用于用户输入和展示文本。这两个组件有很多可定制的属性,可以极大地丰富应用的界面和交互体验。以下是对这两个组件一些关键属性的详细解释: 1. **...

    设置EditText属性.pdf

    10. `android:textColorHighlight` - 设置被选中文字的高亮颜色,比如"#cccccc"表示灰色。 11. `android:textColorHint` - 修改提示信息文字的颜色,如"#ffff00"为黄色。 12. `android:textScaleX` - 控制字符间的...

    PaletteDemo(安卓颜色拾取)

    这些颜色可以用于设置背景、文字颜色、按钮样式等,从而实现与图片内容相协调的界面设计。 首先,我们来了解一下如何创建和使用`Palette`对象。在Android中,我们可以使用以下代码创建一个`Palette`实例: ```java...

Global site tag (gtag.js) - Google Analytics