1. 引言
在Android 中,使某个字符串中的某个单词或汉字高亮,效果图及代码实现如下。
2. 效果图
3. 功能实现
1. 主界面(main.xml)实现:
- <?xml version= "1.0" encoding= "utf-8" ?>
- <LinearLayout xmlns:Android = "http://schemas.android.com/apk/res/android"
- Android :orientation = "vertical"
- Android :layout_width = "fill_parent"
- Android :layout_height = "fill_parent"
- >
- <TextView
- Android :id = "@+id/highLight"
- Android :layout_width = "wrap_content"
- Android :layout_height = "wrap_content"
- />
- </LinearLayout>
2. 主Activity实现:
- package com.focus.fishme;
- 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 .widget.TextView;
- public class HighLightActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- setContentView(R.layout.main);
- TextView highLightView = (TextView) findViewById(R.id.highLight);
- String highLightStr = "HighLight MaYingCai" ;
- String highLight = "MaYingCai" ;
- int start = highLightStr.indexOf(highLight);
- SpannableStringBuilder style = new SpannableStringBuilder(highLightStr);
- style.setSpan( new BackgroundColorSpan(Color.RED), start, start + highLight.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- /// style.setSpan(new ForegroundColorSpan(Color.RED),3,8,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- highLightView.setText(style);
- }
- }