`
zhoujianghai
  • 浏览: 439091 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android textview改变部分文字的颜色和string.xml中文字的替换

阅读更多

一:TextView组件改变部分文字的颜色:

 

TextView textView = (TextView)findViewById(R.id.textview);

//方法一:
textView.setText(Html.fromHtml("<font color=\"#ff0000\">红色</font>其它颜色"));

//方法二:
 String text = "获得银宝箱!";
 SpannableStringBuilder style=new SpannableStringBuilder(text);   
  style.setSpan(new BackgroundColorSpan(Color.RED),2,5,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置textview的背景颜色
  style.setSpan(new ForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置文字的颜色
  textView.setText(style); 

 

 

 

 

二:android string.xml文件中的整型和string型代替:

 

 String text = String.format(getResources().getString(R.string.baoxiang), 2,18,"银宝箱");

 

 对应的string.xml文件参数:

 

<string name="baoxiang">您今天打了%1$d局,还差%2$d局可获得%3$s!</string>

 %1$d表达的意思是整个name=”baoxiang”字符串中,第一个整型

 

 

在项目开发者,经常需要把以上两者结合起来使用。可以避免很多textview的拼接,如下所示:

 

TextView textView = (TextView)findViewById(R.id.testview);

String text = String.format(getResources().getString(R.string.baoxiang), 2,18,"银宝箱");
       int index[] = new int[3];
       index[0] = text.indexOf("2");
       index[1] = text.indexOf("18");
       index[2] = text.indexOf("银宝箱");

 SpannableStringBuilder style=new SpannableStringBuilder(text);   
	       style.setSpan(new ForegroundColorSpan(Color.RED),index[0],index[0]+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);    
	       style.setSpan(new ForegroundColorSpan(Color.RED),index[1],index[1]+2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);    
	       style.setSpan(new BackgroundColorSpan(Color.RED),index[2],index[2]+3,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);    
	       textView.setText(style);
 

 

分享到:
评论
2 楼 vanezkw 2011-11-30  
非常有用。谢谢分享
1 楼 greenboy1 2011-08-20  
谢谢分享

相关推荐

    android String.xml Excel 相互转换工具

    为了方便管理这些多语言资源,Android使用`String.xml`文件来存储应用中的文本字符串。然而,手动编辑这些XML文件既耗时又容易出错,尤其是在处理大量文本时。这时,就需要借助一些工具进行`String.xml`与Excel之间...

    Android string.xml中的替换方法

    本文实例讲述了Android string.xml中的替换方法。分享给大家供大家参考,具体如下: 在android的开发中,经常会遇见一句话,比如“我今年23岁了”;这个23需要在程序中生成,但是遇到一个问题,这完整的一句话是一个...

    android string.xml %1$s %d\%的用法

    在Android开发中,`string.xml` 文件是应用中管理字符串资源的重要部分,它允许开发者集中存储和管理应用程序中的文本内容,提高代码可读性和维护性。`%1$s` 和 `%d\%` 是在 `string.xml` 文件中常用的格式化符号,...

    Android textview 文字中间加上图片

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它是我们界面设计中不可或缺的一部分。然而,有时我们可能需要在文字中插入图片,以实现更丰富的展示效果。例如,在显示用户头像、表情符号或者特殊...

    安卓textView相关-Android根据搜索内容实现TextView中的文字部分加粗.rar

    这个压缩包文件"安卓textView相关-Android根据搜索内容实现TextView中的文字部分加粗.rar"应该包含了一些示例代码,帮助开发者学习如何实现这样的功能。 首先,我们需要了解TextView的基本用法。TextView是Android ...

    Android TextView 换行不对齐的问题

    - 在XML布局文件中使用`JustifyTextView`替换原生的`TextView`,并设置相应的属性,如: ```xml &lt;com.github.chrisbanes.justify.JustifyTextView android:layout_width="match_parent" android:layout_height=...

    自定义textview显示文字对齐到最右侧才换行

    最后,在布局XML文件中使用我们的自定义TextView,替换原本的TextView,这样就能实现文字对齐到最右侧才换行的效果了。 以上就是实现自定义TextView显示文字对齐到最右侧才换行的详细步骤。这个自定义控件适用于...

    textview多行ellipsize=\"end\"不显示省略号的解决方法(二)

    在Android开发中,`TextView` 是一个非常常用的组件,用于显示单行或多行文本。在某些场景下,我们可能希望限制`TextView`显示的文本长度,并在超出时使用省略号“...”来表示被截断的部分。然而,有时在设置`...

    android spinner 自定义 字体大小

    在Android开发中,Spinner是一个常用的UI组件,它用于在下拉列表中展示多个选项供用户选择。当需要自定义Spinner的字体大小时,开发者需要对Spinner的样式进行一些定制。以下是一些关于如何自定义Android Spinner...

    Android String

    在Android开发中,`String`类是用于处理文本数据的核心组件。它不仅在用户界面(UI)中扮演着重要角色,如通过`TextView`呈现文本,还在应用的各个层面上广泛使用,包括资源管理、国际化(i18n)以及数据存储等。...

    TextView 的 placeHoder

    不过,我们可以用一些技巧来实现类似的功能,即在 `TextView` 没有设定内容时显示一段提示文字,当设置了文本内容后,提示文字自动消失。下面我们将详细探讨如何在 `TextView` 中实现这个功能。 首先,我们需要理解...

    TextView设置字体格式以及滚动显示效果

    在Android开发中,`TextView` 是一个至关重要的组件,它用于显示文本信息。开发者经常需要对`TextView`进行自定义,以满足各种视觉和交互需求。本教程将深入讲解如何设置`TextView`的字体格式以及实现滚动显示效果,...

    Android-根据EditText内容的变化,自动追加TextView

    在Android开发中,`EditText`和`TextView`是两种非常常见的UI组件。`EditText`用于接收用户输入,而`TextView`则通常用来显示文本信息。本教程将详细讲解如何实现一个功能,即当用户在`EditText`中输入内容时,系统...

    Android开发自定义TextView省略号样式的方法

    默认情况下,当使用`android:maxLines`和`android:ellipsize`属性时,TextView会自动处理省略号的添加。然而,如果想要自定义省略号样式,例如改变省略号的字符或增加间隔,就需要通过编程方式实现。 首先,在XML...

    Android中使用字符串资源完成教学案例的实现步骤.pdf

    在Android开发中,字符串资源是应用中不可或缺的一部分,它们提供了多语言支持、代码可维护性和易用性。本文将详细讲解如何在Android中使用字符串资源来实现教学案例,包括在XML文件中定义字符串、在XML布局文件中...

    TextView超链接启动Activity,无下划线,可自定义颜色

    在许多应用中,我们可能需要将TextView中的部分文字设置为超链接,以便用户点击后可以跳转到其他Activity或网页。本教程将详细介绍如何实现一个没有下划线且可以自定义颜色的TextView超链接,并通过Intent启动新的...

    自定义toast.zip

    在标准的Android SDK中,Toast的显示样式是固定的,但有时开发者可能需要根据应用的UI风格来定制其外观,比如改变字体颜色和背景颜色。本教程将详细介绍如何在Android中自定义字体颜色和Toast的背景颜色。 首先,...

    android修改listview列表的item中某个控件的值demo

    在这个特定的示例中,我们探讨的是如何在不调用Adapter的`notifyDataSetChanged()`方法的情况下,直接修改ListView列表项中某个具体控件(如TextView)的值。这种方式在某些场景下可能会提高性能,因为`...

    Android编程实现自动调整TextView字体大小以适应文字长度的方法

    使用自定义的`CustomTextView`类,只需在布局XML文件中用 `&lt;com.test.android.textview.CustomTextView&gt;` 替换 `&lt;android.widget.TextView&gt;`,并像平常一样设置属性,即可实现自动调整字体大小的功能。这将大大提高...

    详解Android TextView属性ellipsize多行失效的解决思路

    Android 中的 TextView 控件提供了 ellipsize 属性来实现文本的截断和省略号显示,但是在多行文本中,该属性可能会失效。今天,我们将探讨解决 Android TextView 属性 ellipsize 多行失效的方法。 ellipsize 属性的...

Global site tag (gtag.js) - Google Analytics