设置部分文字背景高亮显示:
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
分享到:
相关推荐
本篇将详细介绍如何设置TextView的部分文字颜色和背景,使其更加醒目。 首先,我们可以使用`SpannableString`和`SpannableStringBuilder`来实现这个功能。这两个类是可变的字符串,可以添加不同的样式,如颜色、...
在Android开发中,文本输入和显示是用户界面设计的关键元素之一。`EmphasisTextView` 是一个自定义的视图组件,专门用于实现部分文字高亮的功能。它扩展了Android原生的`TextView`,增加了对特定文字强调的能力,...
在Android开发中,有时我们需要根据用户的搜索关键词高亮显示TextView中的匹配内容,使其在大量文本中突出,提高用户体验。这个过程通常涉及到字符串处理和UI渲染技术。本文将深入讲解如何在Android中根据搜索内容...
代码的展示部分,`FlexibleRichTextView`可能采用代码高亮库,如`Highlight.js`或`Android Studio`自带的`KotlinPoet`,以确保代码的可读性和美观性。开发者可以选择不同的编程语言,并根据需要设置行号、复制功能...
通过`android:text`属性可以设置要显示的文本,而`android:textColor`用来设定文字颜色,`android:background`则用于设置文字背景颜色。这些基本属性在XML布局文件中可以直接配置,也可以在代码中动态修改。 然而,...
在Android开发中,有时我们需要对TextView中的特定文字进行高亮显示,例如,当我们展示一段包含关键词的文章时,可能希望这些关键词能以不同的颜色或者样式突出显示。"Linker"就是一个专为此目的设计的轻量级Android...
在Android开发中,TextView是展示文本的基本控件,但有时我们需要对其中的部分文字进行特殊处理,比如高亮显示或响应点击事件。`TextView`的文本高亮和点击行为可以通过`ClickableSpan`类来实现,然而,`...
文字高亮主要是通过查找文本中特定的关键词或模式,并为其设置不同的样式,如改变颜色、背景色、下划线等,以达到突出显示的效果。在Android中,我们通常会用到`SpannableString`或`Spanned`来处理这种带有样式的...
例如,在TextView中,可以定义其文字颜色(textColor)、文字大小(textSize)等属性。 #### 资源定义案例研究 以TextView为例,下面展示了一个关于TextView的资源定义案例。在这个案例中,我们定义了TextView的几种...
例如,通过重写`onDraw()`方法,我们可以绘制自定义的背景图案或文字颜色。 2. **动画效果** 为TextView添加动画效果,如淡入淡出、闪烁、滑动等,可以增加用户的交互体验。可以利用Android的动画库,如`...
有时候,我们可能需要在应用程序中实现TextView的部分文字具有不同的颜色,以突出显示或者强调某些特定信息。本篇将详细讲解如何在Android编程中实现TextView部分颜色变动的方法。 首先,我们需要了解Android中的...
- 开发夜间模式,调整背景色和字体颜色,降低蓝光对眼睛的影响。 - 提供日间模式、护眼模式等多种主题选项。 7. **用户交互**: - 实现书签功能,保存用户的阅读进度。 - 添加笔记功能,用户可以记录阅读感悟。...
在Android开发中,TextView是用于显示文本的基本组件。在标题提到的"闪闪发光的textview",实际上是指为TextView添加了一种动态效果,使文本看起来像霓虹灯一样闪烁或流动,这种效果通常被称为“闪耀”或“闪烁”...
9. **自定义选择器**:通过设置状态选择器,改变TextView在不同状态(如按下、选中)下的背景色或文字颜色。 10. **动态加载和更新**:结合Loader或LiveData,实现在后台加载文本内容并在TextView中实时更新。 综...
对于文字内容,我们可以使用TextView,并调整其对齐方式和颜色,使其适应气泡背景。 **2. ListView的Divider** ListView的divider是用来分隔列表项的元素。在气泡对话列表中,我们通常希望消除或定制分割线,以便...
1. 创建遮罩层:使用自定义布局或者设置背景颜色为半透明的布局覆盖整个屏幕,形成引导层。 2. 高亮效果:对于需要高亮的控件,可以创建一个形状(如BitmapShape或VectorDrawable),并将其放在目标控件上方,调整...
在Android开发中,EditText和TextView是两个非常重要的UI组件,用于用户输入和展示文本。这两个组件有很多可定制的属性,可以极大地丰富应用的界面和交互体验。以下是对这两个组件一些关键属性的详细解释: 1. **...
10. `android:textColorHighlight` - 设置被选中文字的高亮颜色,比如"#cccccc"表示灰色。 11. `android:textColorHint` - 修改提示信息文字的颜色,如"#ffff00"为黄色。 12. `android:textScaleX` - 控制字符间的...
这些颜色可以用于设置背景、文字颜色、按钮样式等,从而实现与图片内容相协调的界面设计。 首先,我们来了解一下如何创建和使用`Palette`对象。在Android中,我们可以使用以下代码创建一个`Palette`实例: ```java...