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

Android TextView中文字设置超链接、颜色、字体

阅读更多
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。
效果图:


Activity代码:
package com.zhou.activity;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.text.style.URLSpan;
import android.widget.TextView;

public class TextViewLinkActivity extends Activity {
    TextView myTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myTextView = (TextView) this.findViewById(R.id.myTextView);
        
        //创建一个 SpannableString对象
        SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
        //设置超链接
        sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,
                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置高亮样式一
        sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置高亮样式二
		sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);  
		//设置斜体
		sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
		//SpannableString对象设置给TextView
        myTextView.setText(sp);
        //设置TextView可点击
        myTextView.setMovementMethod(LinkMovementMethod.getInstance());
    }
}
  • 大小: 17.6 KB
4
0
分享到:
评论
7 楼 LoveZhou 2012-06-25  
liang86liang 写道
谁知道如何实现点击后的效果??

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_enabled="false" android:color="@android:color/white" />
<item android:state_focused="false" android:state_selected="false"
android:state_pressed="false" android:color="@color/grey" />
<item android:state_selected="true" android:color="@android:color/white" />
<!-- Pressed -->
<item android:state_pressed="true" android:color="@android:color/white" />
</selector>
6 楼 liang86liang 2012-06-07  
谁知道如何实现点击后的效果??
5 楼 lenomon 2012-04-07  
LoveZhou 写道
lenomon 写道
这里有篇实现无下划线的,Android使用TextView实现无下划线超链接

好,谢谢



不用,多多关注我的博客

这里有个关于垂直滚动的方法汇总:android垂直自动滚动
4 楼 LoveZhou 2012-03-13  
lenomon 写道
这里有篇实现无下划线的,Android使用TextView实现无下划线超链接

好,谢谢
3 楼 lenomon 2012-03-12  
这里有篇实现无下划线的,Android使用TextView实现无下划线超链接
2 楼 yuanxuan 2011-11-29  
很好

我已经解决了此问题

:arrow:
1 楼 JACKDG2010 2011-07-13  
 

相关推荐

    TextView超链接自定义样式

    本篇将详细讲解如何在Android的`TextView`中实现超链接自定义样式,包括自定义字体颜色和去除超链接的下划线。 首先,让我们了解一下`TextView`中的`Links`。默认情况下,`TextView`会识别文本中的URL并自动将其...

    Android SpannableString设置超链接、颜色、字体等属性

    Android SpannableString设置超链接、颜色、字体等属性 在Android中,TextView是我们最常用的用来显示文本的控件。  一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的文本来设置字体...

    安卓textView相关-TextView的超链接字和不同色彩效果.rar

    本资源包"安卓textView相关-TextView的超链接字和不同色彩效果.rar"包含了一些关于如何在`TextView`中实现这些特性的示例和文档。 1. **超链接字**:在`TextView`中,我们可以通过`setMovementMethod()`方法和`...

    TextView自定义字体,风格,超链接等效果

    本文将详细讲解如何通过编程实现TextView的字体、颜色、行距、样式、独立样式、内部超链接以及与图片共存的效果。 首先,让我们关注字体的设置。在Android中,可以通过`setTypeface()`方法来改变TextView的字体。这...

    android textview 文字排版 换行

    3. **链接文本**:`TextView`支持超链接,通过`android:autoLink`开启,`android:textColorLink`设置链接颜色。 ```xml android:autoLink="web" android:textColorLink="@color/colorAccent" ``` 4. **自定义...

    android TextView 支持CSS样式

    - **字体标签 `&lt;font size="" color="" face=""&gt;`**:设置文字的大小、颜色和字体(HTML5中已废弃)。 - **标题标签 `&lt;h1&gt;`至`&lt;h6&gt;`**:定义标题,其中`&lt;h1&gt;`定义最大的标题,`&lt;h6&gt;`定义最小的标题。 - **斜体...

    android通过设置文字超链接启动activity

    在Android开发中,我们经常需要实现点击文字后跳转到另一个Activity或执行特定操作,这可以通过设置文字超链接来实现。这个过程涉及到Android的UI组件、事件处理以及文本格式化技术。在这里,我们将深入探讨如何使用...

    Android TextView 控件例子

    - `android:textColor`: 设置字体颜色,可以使用颜色值(如"#FF0000")或颜色资源引用(如"@color/my_color")。 - `android:textStyle`: 设置字体样式,如`bold`、`italic`或`bold_italic`。 - `android:...

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

    在Android开发中,文本展示是常见的需求之一,而TextView作为主要的文本展示控件,...在实际开发中,还可以结合其他Span,如ForegroundColorSpan(设置颜色)、UnderlineSpan(下划线)等,实现更多自定义的文本样式。

    TextView上超链接可以点击.zip

    为了使超链接有明显的视觉区别,我们还可以通过`ForegroundColorSpan`改变链接的字体颜色,例如: ```java ss.setSpan(new ForegroundColorSpan(Color.BLUE), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ``` ...

    android TextView文字效果

    - XML中,使用`android:textColor`属性来设置颜色,如`android:textColor="#FF0000"`(红色)。 4. **下划线**: - 若要添加下划线,可以使用`android:textDecorationLine`属性。例如,`android:...

    Android的TextView使用Html来处理图片显示、字体样式、超链接等

    一、[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html import android.text.Html; TextView t3 = (TextView) findViewById(R.id.text3); t3.setText( ...

    Android TextView使用SpannableString设置复合文本的方法详解

    在Android开发中,TextView是用于显示文本的基本组件。然而,有时我们需要对文本进行更复杂的样式化,例如设置特定部分的背景色、添加点击事件、改变颜色等。这时,我们可以使用SpannableString类来实现这些需求。...

    Android TextView

    - 设置字体颜色:`android:textColor`属性用于设置文本的颜色,可以使用颜色资源ID或十六进制颜色值。 2. **样式和格式化** - 文本样式:`android:textStyle`可以设置文本为粗体、斜体或粗斜体。 - 文本对齐:`...

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

    总结起来,实现TextView超链接启动Activity且无下划线、自定义颜色的关键在于使用`ClickableSpan`或自定义的`URLSpan`子类,以及正确设置`MovementMethod`。这种方法允许开发者更好地控制链接的外观和行为,提升用户...

    Android TextView控件文字添加下划线的实现方法

    除此之外,Android SDK还提供了其他方式来调整TextView的表现,比如改变字体大小、颜色、样式、行间距等。例如,你可以使用setTextSize()方法改变字体大小,使用setTextColor()方法改变文字颜色,或者使用...

    在TextView中输入图片

    除了`&lt;img&gt;`标签,`Html.fromHtml()`还能支持其他HTML标签,如`&lt;font&gt;`用于设置文字颜色和字体,`&lt;a&gt;`用于创建超链接等。例如,以下代码可以设置文字颜色和字体: ```html "红色文字&lt;/font&gt;" ``` 同时,`&lt;a&gt;`标签...

Global site tag (gtag.js) - Google Analytics